<分区>
我正在尝试在另一个文件(日志文件)中搜索和捕获特定类型的文件名(例如 /app.css
/main.js
) )。
我构建的正则表达式是这样的:
^\/([a-zA-Z0-9_-]+)[.](css|js)
我正在尝试获取第一个捕获组,即不带扩展名的文件名(上面示例中的 app
main
等),这就是我搜索的方式
haystack = '/main.js'
matches = re.finditer(pattern, haystack, re.MULTILINE)
它工作正常,我能够获取捕获的组。但是,如果我在读取文件时做同样的事情,它就不起作用
pattern = r"'^\/([a-zA-Z0-9_-]+)[.](css|js)'"
for i, line in enumerate(open('log.txt', 'r')):
haystack = line.rstrip()
matches = re.finditer(pattern, haystack, re.MULTILINE)
log.txt
的内容是这样的:
duis ut diam quam /app.css porttitor
app.css
main.js
purus sit (amet volutpat /main.js)
它在上述文件的任何行中都不匹配,即使它应该在所有四行中都匹配!