首页 > 其他分享 >正则表达式笔记

正则表达式笔记

时间:2022-10-21 23:45:28浏览次数:82  
标签:字符 匹配 正则表达式 res 捕获 zA 笔记 re

几次想学但是都没学会……现在作业要用就还是硬着头皮学一下吧
部分材料源于这个
我一开始还不太能理解这怎么配这么多stars,后面才发现stars给的是这个


基本语法

开始和结束两个定位符慎用!用了的话没有就是没有了!

元字符 描述
. 句号匹配任意单个字符除了换行符。
[ ] 字符种类。匹配方括号内的任意字符。
[^ ] 否定的字符种类。匹配除了方括号里的任意字符
* 匹配>=0个重复的在*号之前的字符。
+ 匹配>=1个重复的+号前的字符。
? 标记?之前的字符为可选.
{n,m} 匹配num个大括号之前的字符或字符集 (n <= num <= m).
(xyz) 字符集,匹配与 xyz 完全相等的字符串.
| 或运算符,匹配符号前或后的字符.
\ 转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^ 从开始行开始匹配.
$ 从末端开始匹配.

进阶语法

符号 描述
?= 正先行断言-存在
?! 负先行断言-排除
?<= 正后发断言-存在
?<! 负后发断言-排除

以上没什么好说的


以下是一些python特有的语法
python的修饰符里没有global!害的我瞪了1h才瞪出来(所以我上面没写修饰符,毕竟除了global别的好像没什么用)

特有语法

|(?:...)|不捕获的分组|
|(?P...)|约定名字的分组|
|(?P=name)|可以引用名字的分组|

一些例子可以去这里,把例子蒯到上面那个网站看看是怎么回事

作业题例

len(re.sub(r'[^A-Za-z]','',s)) #把除字母之外的全部去掉,剩下的就是字母,再统计长度(好怪啊)
res = re.search(r'\d{6}(?P<year>\d{4})(?P<month>\d{2})(?P<day>\d{2})',s) #身份证前六位数字扔掉,后4位捕获后命名为year,……
res.group("year") #调用捕获结果,返回值为字符串
res=re.match(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^\da-zA-Z\s])',s) #密码强度验证,如果没有数字/小写/大写/特殊则会匹配不上,返回None
# 解释可以看这个 https://www.cnblogs.com/tinymad/p/15836480.html
res=re.compile('([a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)+)') #...@...(.xyz) 整体捕获,里面那层捕获用?:消掉

标签:字符,匹配,正则表达式,res,捕获,zA,笔记,re
From: https://www.cnblogs.com/123789456ye/p/16815103.html

相关文章

  • 6.824笔记2
    线程为每一个prc请求使用一个线程,当请求回收的时候,线程继续运作,多线程能能够开启多个网络请求,形成io并发并行化,线程用来实现并行化异步编程,事件驱动编程,又一个线程,一个循......
  • Vue笔记2 v-bind,截图软件snipaste、computed
                                              ......
  • c语言—调试篇—笔记
    调试#include<stdio.h>intmain(){char*p="hellobit.";printf("%s\n",p);return0;}#include<stdio.h>intmain(){inti=0;intarr[10]={0};for(i=0;i<=12;i++......
  • 自然语言处理学习笔记-lecture07-句法分析01
    句法分析(syntacticparsing)的任务就是识别句子的句法结构(syntacticstructure)。包含短语结构分析(Phraseparsing)和依存句法分析(Dependencyparsing)短语结构分析......
  • Docker基础:Docker运行原理笔记
    ​今天给大家继续分享Docker相关的知识,今天主要介绍Docker运行原理以及生命周期,希望对大家能有所帮助!1、Docker底层运行原理Docker基于客户端(容器)-服务器(Docker引擎)结构的系......
  • vue笔记整理
    推荐大家安装的VScode中的Vue插件Vue3Snippetshttps://marketplace.visualstudio.com/items?itemName=hollowtree.vue-snippetsVeturht......
  • 【学习笔记】JSP标签、JSTL标签、EL表达式
    JSP标签、JSTL标签、EL表达式EL表达式${}作用:获取数据执行运算获取web开发的常用对象 JSP标签拼接页面<jsp:includepage="jsp1.jsp"/>转......
  • 种类并查集学习笔记(CF1290C)
    这题一眼种类并查集(,虽然我最开始没看出来并且也不熟悉种类并查集好吧,其实是,我们不难发现,一个\(S_i\)最多只会对应两个\(m_i\)然后这两个\(m_i\)之间的关系是双向......
  • 正则表达式(C、C++、Python、Shell)
    撰写本文档的初衷本来是想介绍正则表达式怎么写,但是百度一搜,正则表达式的教程的质量已经相当高,我便不在班门弄斧了。正则表达式是一种方法,在不同的语言中,它的应用样式可能......
  • Leanote蚂蚁笔记-私人云笔记服务器搭建
    title:Leanote蚂蚁笔记-私人云笔记服务器搭建date:2020-02-2221:53:24categories:[IT,技术][IT,软件,程序][IT,软件,搭建与配置]tags:leanote蚂蚁笔记笔记......