我对Regexp的东西很不满意,所以我不知道为什么这行不通。我只想匹配一个赋值/等式中的两个字符串,就像这样:"string1" = "string2"
在这种情况下,我希望“ string1”和“ string2”匹配(不带引号)。我尝试了以下正则表达式,该正则表达式可在我在网上找到的正则表达式测试器中使用,但不适用于Python:("[^"]*").=.("[^"]*")
在Python中,它看起来像这样:matches = re.findall(r'("[^"]*").=.("[^"]*")', line)
但是就像我说的那样,它不起作用。
最佳答案
如果您不希望引号成为匹配项的一部分,请将其移到捕获组之外:
>>> matches = re.findall(r'"([^"]*)".=."([^"]*)"', line)
>>> matches
[('string1', 'string2')]
另外,由于您的“ =”周围有空格,因此您应该只匹配一个空格。点“。”匹配任何字符。
关于python - 通过Regex在Python中匹配“…” =“…”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17371058/