【问题标题】:Regex returning value prefixed with "="正则表达式返回值以“=”为前缀
【发布时间】:2018-03-28 05:50:35
【问题描述】:

我正在尝试从字符串中返回My.Nameone.test.two=My.Name

据我了解,我需要使用 ?<! 运算符。问题是使用以下正则表达式将“=”留在匹配中:

import re
print(re.search("(?<!(one.test.two=))?=(.*)", "one.test.two=My.Name"))

即我返回=My.Name,而不是My.Name。请帮助我了解为什么会发生这种情况,以及为什么我没有得到想要的结果。

【问题讨论】:

  • 试试...re.search("(?&lt;=one.test.two=)(.*)", "one.test.two=My.Name"))。如果这是您正在寻找的结果,我可以解释。
  • 我什至不确定您是否需要比 re.search("one.test.two=(.*)","one.test.two=My.Name") 更复杂的东西跨度>
  • @ShawnTabrizi 在这种情况下不要忘记通过.group(1) 获得结果。

标签: python regex string parsing properties-file


【解决方案1】:

您可以使用更简单的正则表达式:

re.search(r'.+=(.*)', 'one.test.two=My.Name').group(1)

我们只对= 字符右侧的内容感兴趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多