模糊匹配的正则表达式 d, D, s, S, [A-Z], [a-z], [a-zA-Z], +, *, {n,m}, ? , ., re.M、^ 和 $ 等。
最编程
2024-07-16 21:29:45
...
模糊匹配:
\d:匹配一个数字(digit)
\D:匹配一个非数字
re.search(r"\d","abc123abc"),其中,r表示原字符,里面的\不需要做转义。
\w:匹配字母或数字
\W:匹配非字母且也是非数字的情况
\s:匹配一个空白字符,比如:空格、\n \r \t
\S:匹配一个非空白字符
[A-Z]:匹配大写字母
[a-z]:匹配小写字母
[a-zA-Z]:匹配大小写字母
尝试匹配多个:
+:匹配至少一个(可以匹配多个);
*:匹配0个或者多个;
{n,m}:匹配n个或者m个之间的个数都行;
?:表示匹配一个或0个;
带有量词的情况下,正则都会进行最多元素的匹配(正则表达式的贪婪性)。
抑制正则表达式的贪婪性,量词后面加?
.:表示出了回车之外的任意字符;
加个re.S可以实现.匹配回车,也就是匹配包括回车的所有字符;
开头和结尾的匹配:^ $
\b:单词边界,字符串的最前面和最后面,或者前面有空白字符;
re.M:把一个带有回车的字符串,当成多行字符串处理
re.search(r"\d+$","123\n456\n789",re.M)
|:或的关系,匹配其中一个就可以
*:匹配0个或者多个;
re.search(r"\d*","we2356bc").group(),当我们匹配w字符的时候,w字符的前面没有数字,没有数字就是0个数字,没有数字也满足\d*,因为*表示匹配0次或者多次。此处的\d*匹配到了w前面的空字符串。
下一篇:
Rust] 字符串字符串字符串类型学习