正则表达式为什么不能匹配[.]呢?
来源:3-4 正则表达式-3
抓住彩虹
2017-08-06
因为年月日也有可能是这种格式,2001.06.01
写回答
3回答
-
import re # line = "XXX出生于2001年6月1日" # line = "XXX出生于2001/6/1" # line = "XXX出生于2001-6-1" # line = "XXX出生于2001-06-01" line = "XXX出生于2001-06-01" # line = "XXX出生于2001.06" regex_str = ".*出生于(\d{4}[年/\-.]\d{1,2}([月/\-.]\d{1,2}日|[月/\-.]$|$|[月/\-.]\d{1,2}))" match_obj = re.match(regex_str, line) if match_obj: print(match_obj.group(1))
短横线在中括号中有特殊含义 你需要先转移才行, 参考上面的代码
112017-08-14 -
抓住彩虹
提问者
2017-08-08
import re # line = "XXX出生于2001年6月1日" # line = "XXX出生于2001/6/1" # line = "XXX出生于2001-6-1" # line = "XXX出生于2001-06-01" line = "XXX出生于2001.06.01" # line = "XXX出生于2001.06" regex_str = ".*出生于(\d{4}[年/-.]\d{1,2}([月/-.]\d{1,2}日|[月/-.]$|$|[月/-.]\d{1,2}))" match_obj = re.match(regex_str, line) if match_obj: print(match_obj.group(1))
00 -
bobby
2017-08-07
你将代码贴上来 我在我这边调试一下看看呢
00
相似问题