【发布时间】:2014-05-14 11:59:42
【问题描述】:
我正在尝试使用一些正则表达式拆分大文件。问题是我想在拆分后在文本中保留分隔符,并且我尝试在正则表达式的开头添加 ?= ,但是它没有拆分。我在 Sublime 中尝试了修改的正则表达式,它在那里工作。
文字是这样的:
2014 年 8 月 7 日 01:01:01 PM
一些文字
2014 年 8 月 7 日 02:02:02 PM
所以,日期,然后是一些文本和日期。我想用识别该日期的正则表达式分割文本。
第一个版本的正则表达式,非常适合我的目的:
\w{3}\s\d{2}\,\s\d{4}\s\d{1,2}\:\d{2}\:\d{2}\s[AM|PM].)
Python 中的代码是这样的:
allparts = re.compile(r'\w{3}\s\d{2}\,\s\d{4}\s\d{1,2}\:\d{2}\:\d{2}\s[AM|PM].').split(alltext)
添加 ?= 后是这样的:
allparts2 =re.compile(r'(?=\w{3}\s\d{2}\,\s\d{4}\s\d{1,2}\:\d{2}\:\d{2}\s[AM|PM].)').split(alltext)
我在第二个代码中做错了什么?
【问题讨论】:
-
怎么样:(?=\w{3} \d{2}, \d{4}, [\d:]+ (?=AM|PM))
-
我找不到任何东西。
-
你的 allparts / allparts 在每种情况下返回什么?
标签: regex python-3.x