我正在尝试匹配 python 中的以下行,但是该行不起作用。
示例文本为:
usr/local/java/latest/bin/java-Djava.util.logging.config.file=/usr/local/tomcat/foobarcode/conf/
Python 示例:
re.match(r"/usr/local/java/latest/bin/java[-]Djava[.]util[.]logging[.]config[.]file[=]/usr/local/tomcat/(\.*)/conf/\.*", pidInfo)
如果您能提供任何帮助,我们将不胜感激。谢谢!
最佳答案
问题是你转义了.
。这使它成为一个字面上的时期。您希望将其保留为不转义,以便它成为通配符:
re.match(r"/usr/local/java/latest/bin/java-Djava[.]util[.]logging[.]config[.]file=/usr/local/tomcat/(.*)/conf/.*", pidInfo)
此外,您的输入示例不包含前导 /
,但这可能是复制粘贴错误。 (请注意,无需转义 =
和 -
)。
关于python 正则表达式 破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886884/