文章目录
正则表达式
一. 概念
正则表达式是一个特殊的字符序列,可判断一个字符串是否与我们所设定的规则相匹配。除此之外,他能够实现快速检索文本,以及一些替换文本的操作
二. 特殊字符
1. ^
如:^b,意为以b开头
2. .
代表任意字符
3. *
代表前面的字符可以重复任意多遍(包括0次)
4. $
如: 3$,代表以3结尾
5. ()
提取子字符串
import re
line = "bobby123"
regex_str = "(bobby123|bobby)"
match_obj = re.match(regex_str,line)
if match_obj:
print (match_obj.group(1))
# 只有用()提取了子字符串,才能用group函数获取
6. ?
非贪婪匹配模式(即,从字符串左边开始进行匹配。如不加$默认为贪婪匹配模式,即从右边开始匹配)
7. +
字符出现至少一次
8. {}
- {2} -> 字符出现至少两次
- {2,} -> 字符出现大于等于两次
- {2,5} -> 字符出现大于等于两次小于五次
9. |
代表“或”的关系
10. []
- []中的内容任意一个满足即可
- 中括号中可以跟一个区间
如电话号码,以1开头,第二位限定为34578中任意一位,然后接9位任意数字
"1[34578][0-9]{9}"
- 中括号中的^,表示“非”
- 中括号中的特殊字符不再具备特殊含义
11. \s 和 \S
- \s -> 代表空格
- \S -> 代表不为空格
12. \w 和 \W
- \w -> [A-Za-z0-9_]
- \W -> 不为\w
13. \u4E00-\u9FA5
代表汉字
14. \d
代表数字