python结合2个在单引号和双引号内搜索字符串的正则表达式

时间:2015-06-03 07:42:01

标签: python regex quotes

我有一个正则表达式,它提取两个双引号之间的所有和另一个对两个单引号执行相同操作的正则表达式。引号中的字符串可以包含转义引号。我想将这两个表达式合并为一个表达式:

1)re.findall(r&#39;&#34;(。*?)(?<!\)&#34;&#39;,string)

2)re.findall(r&#34;&#39;(。*?)(?<!\)&#39;&#34;,string)

类似于:

1 + 2)re.findall(r&#34;&#39; | \&#34;(?<!\)[&#39; | \&#34;]&#34 ;,字符串)

但这不起作用。

我想要&#39; abc \&#34; \&#34;&#39; &#34; ABC \&#39; \&#39;&#34;使用相同的正则表达式进行评估。 &#39; ABC \&#34; \&#34;&#34;不希望工作。如果交换了引号,也允许相同的正则表达式对其进行处理。有可能吗?

1 个答案:

答案 0 :(得分:0)

我不确定我到底想要什么,但是可以在正则表达式中重复使用捕获组的值 可以采用以下模式完成工作:
(['“])(。*)\ 1

解释:
(['“]):引用或引用双引号作为第一组
(。*):第二组捕获所有内容......
\ 1 :...直到再次遇到第一组值为止 结果可在第二组中获得