一起回顾一下正则表达式.
特殊字符
正则表达式特殊字符.png- "^" 以开头
- "$" 以结尾
- "." 除‘/n’外的任意字符
- "*" 任意多次
- "?" 非贪婪模式
- "+" 至少出现一次
- "{2}" 出现2次
- "{2,}" 出现至少2次
- "{2,5}" 出现2次到5次
- "|" 或
- "[]" 满足[]中任意一个就可以[a,b][0-9]
- "[^]" 取反[^1]不是1就可以
- "\s" 空格
- "\S" 不为空格
- "\w" [a-zA-Z0-9_]中一种就可以
- "\W" "\w"取反
- "[\u4E00-\u9FA5]" 中文
- "()" 要提取出来的内容
- "\d" 数字
Python例子
import re
line1 = "XXX出生于2008年8月8日"
line2 = "XXX出生于2008/8/8"
line3 = "XXX出生于2008-8-8"
line4 = "XXX出生于2008-08-08"
line5 = "XXX出生于2008-08"
regex_str = ".*出生于(\d{4}[年/-]\d{1,2}([月/-](\d{1,2}日|\d{1,2}|)|$))"
match_obj = re.match(regex_str, line4)
print(match_obj)
if match_obj:
print(match_obj.group(1))
网友评论