【发布时间】:2020-10-23 04:17:56
【问题描述】:
我需要一个正则表达式来获取引号内的所有文本( ", ' ) 例如:
import re
i = 'Test Text 1 "Test Text 2"'
re.compile(regex).findall(i)
# Returns: ['"Test Text 2', '"']
到目前为止,我已经制作了这个正则表达式:
regex = ("(')([^']+)?|(\")([^\"]+)?")
这很好用,但有问题。我希望它像 python 引号颜色编码系统一样工作,所以如果在结束引号之前有反斜杠,我希望它不会停止元素。 例如:
import re
i = 'Test Text 1 "Test Text \\" 2"'
re.compile(regex).findall(i)
# Returns: ['"Test Text " 2', '"']
【问题讨论】:
-
如果有两个反斜杠,这个假设的正则表达式是否需要忽略反斜杠前引号? (.. 实际上 any 偶数个反斜杠。)
-
没有。如果它是
'"Test Text \\\\"',那么它不应该忽略它,正如我所说的,就像 python 引号颜色编码一样。基本上正如你所说,偶数个反斜杠不应该被忽略
标签: python python-3.x regex re