[年-\] 这样写为什么会报错?

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

Alllight

2020-09-08

regex_str = ‘.*出生于(\d{4}[年-]\d{1,2}[月-]\d{1,2}[日-])’
[年-] 这样写为什么会报错?
图片描述

写回答

2回答

bobby

2020-09-11

import re
line = '张三生在1990年8月1日'
regex_str = '([\u4E00-\u9FA5]+(\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(2))

短横线在中括号中有特殊意义 不能随便在中括号中写“-”

0
1
Alllight
非常感谢!
2020-09-14
共1条回复

bobby

2020-09-09

你把代码贴一下 我本地运行试试

0
1
Alllight
import re line = '张三生在1990年8月1日' regex_str = '([\u4E00-\u9FA5]+(\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)) 我觉得可能是把[年-/]识别成了[A-Z]这种形式的问题
2020-09-10
共1条回复

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

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

5796 学习 · 6290 问题

查看课程