正则表达式为什么不能匹配[.]呢?

来源:3-4 正则表达式-3

抓住彩虹

2017-08-06

http://szimg.mukewang.com/598693c600016df809460718.jpg

因为年月日也有可能是这种格式,2001.06.01

写回答

3回答

bobby

2017-08-09

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))

短横线在中括号中有特殊含义 你需要先转移才行, 参考上面的代码

1
1
抓住彩虹
谢谢老师
2017-08-14
共1条回复

抓住彩虹

提问者

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))


0
0

bobby

2017-08-07

你将代码贴上来 我在我这边调试一下看看呢

0
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程