我正在尝试使用re库解析文件中的某些模式。但是,我无法将PCRE转换为适合Python 2.7的格式。
有人可以提供关于我可能做错了什么的任何提示吗?我这里有PCRE格式的正则表达式:
我的Python 2.7重新编码类似于以下相关代码片段。
line = '2019-02-27 23:00:45,123 DEBUG [org.wildfly.security.access] (default task-1337) Permission check failed (permission "("org.hibernate.validator.HibernateValidatorPermission" "accessPrivateMembers")" in code source "(foo:/foo/bar.war/WEB-INF/classes <no signer certificates>)" of "ModuleClassLoader for Module "deployment.foo.war" from Service Module Loader")'
m = re.search('(?<=permission\b ")\(.+"\)(?=")', line)
最终目的是要遍历整个文件并像这样解析该模式。
import re
f = open('foo.log', 'r')
for line in f:
m = re.search('(?<=permission\b ")\(.+"\)(?=")', line)
print m
f.close()
不幸的是,这些解决方案都不起作用,据我所知,这是一对一的副本。这种正则表达式的结果总是声称是PCRE投诉,结果始终是None。
就像上面提供的链接所示,我期望从该字符串中提取的结果是:
("org.hibernate.validator.HibernateValidatorPermission" "accessPrivateMembers")
任何有关为何无法按预期工作的建议将不胜感激。