python 正则表达式 破折号

标签 python regex

我正在尝试匹配 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/

相关文章:

python - 如何使用 tkinter 打开 .gif 文件而不出现错误 "Too early to create image"?

python - 如何使用 python 正则表达式替换使用捕获的组?

regex - 在 emacs 中,我可以在对齐正则表达式的正则表达式中使用交替吗?

regex - 如何在 Haskell 中查找和替换 unicode 字符?

python - 正则表达式和 unicode

python - 生成具有给定(数值)分布的随机数

python - Django Sitemap - 'str' 对象没有属性 'get_absolute_url' 错误

python - 设置 TensorFlow GPU 支持的问题

php - 如何修剪字符串从后面开始直到破折号?

java - java中的REGEX与replaceall和多行