1

我对正则表达式的东西很不好,所以我不知道为什么这不起作用。我只是想匹配赋值/方程中的两个字符串,如下所示:

"string1" = "string2"

在这种情况下,我希望匹配“string1”和“string2”(不带引号)。我尝试了以下正则表达式,它适用于我在网上找到的正则表达式测试器,但不适用于 Python:

("[^"]*").=.("[^"]*")

在 Python 中,它看起来像这样:

matches = re.findall(r'("[^"]*").=.("[^"]*")', line)

但就像我说的,它不起作用。

4

1 回答 1

4

如果您不希望它们成为匹配项的一部分,请将引号移到捕获组之外:

>>> matches = re.findall(r'"([^"]*)".=."([^"]*)"', line)
>>> matches
[('string1', 'string2')]

此外,由于您的“=”周围有空格,因此您应该匹配一个空格。一个点“。” 匹配任何字符。

于 2013-06-28T18:11:15.467 回答