【发布时间】:2019-05-28 00:45:15
【问题描述】:
我有一个大的 txt 文件,想提取所有具有这些模式的字符串:
/m/meet_the_crr
/m/commune
/m/hann_2
这是我尝试过的:
import re
with open("testfile.txt", "r") as text_file:
contents = text_file.read().replace("\n", "")
print(re.match(r'^\/m\/[a-zA-Z0-9_-]+$', contents))
我得到的结果是一个简单的“无”。我在这里做错了什么?
【问题讨论】:
-
删除
.replace("\n", "")并使用re.findall(r'^/m/[\w-]+$', contents, re.M) -
尝试将 print 语句放在
with语句块中。 -
@PatrickArtner 我匹配所有 3 个。所以它似乎不是正则表达式。
-
@TAN-CF-OK .. 现在使用 real 文本,你正在给正则表达式工作..删除 @987654328 @ .. 你的文字是
/m/meet_the_crr/m/commune/m/hann_2- 里面没有换行符 .. 仍然匹配所有内容? -
对 url 事故感到抱歉:它是 regex101.com -您的特殊情况在这里:regex101.com/r/PyNjiE/1 .. 它使用多行标志