python正则表达式详解
2021-06-25 19:06
标签:一个个 字符 lag 单词 sub 改变 ict 编译 忽略 元字符 python正则表达式详解 标签:一个个 字符 lag 单词 sub 改变 ict 编译 忽略 原文地址:https://www.cnblogs.com/zuohaipeng/p/9614991.html
[a-z] 字符集合,一个字符的集合,可匹配其中任意一个字符
[^a-z] 字符集合,匹配除集合内的任意一个字符
^ 匹配开始位置,多行模式下匹配每一行的开始
\b 匹配单词开始或结束位置的字符
\B 匹配不位于单词开始或结束位置的字符
\d 匹配一个数字, 相当于 [0-9]
\D 匹配非数字,相当于 [^0-9]
\s 匹配一个空白字符,包括换行符、制表符、空格。相当于 [ \f\r\n\t\v]
\S 匹配非空白字符
\w 匹配[a-zA-Z0-9_],包括中文
\W 匹配\w之外的字符
$ 匹配结束位置,多行模式下匹配每一行的结束
* 表示前面的正则表达式重复0次或多次
+ 表示前面的正则表达式重复至少1次
? 表示前面的正则表达式重复0次或1次
{n} 重复n次
{n,} 重复至少n次
{n,m} 重复n到m次
\ 转义字符,跟在其后的字符将失去作为特殊元字符的含义,例如\\.只能匹配.,不能再匹配任意字符
x|y 匹配x或者y
(pattern) 分组,捕获后会自动分配组号从1开始,key改变优先级
\数字 匹配对应的分组
(?:pattern)如果仅仅为了改变优先级,就不需要捕获分组
(?
(?=exp) 断言exp一定在匹配的右边出现,表示断言后面一定有exp
(? (? (?!exp) 断言exp一定不会出现在右侧,也就是说断言后面一定不是exp
(?
+? 匹配至少1次
?? 匹配0次或1次
{n,}? 匹配至少n次
{n,m}? 匹配至少n次,至多m次
上一篇:关于java中分割字符串
下一篇:杂园日记-获取URL参数