2015-06-03 26 views
0

我有一个正则表达式提取的一切之间2双引号和另一个正则表达式2单引号相同。引号内的字符串可以包含转义引号。我想使这些2倍的表达成一个单一的一个:( ' “(*?(< \?!)R)”'蟒蛇结合2个正则表达式在单引号和双引号内搜索字符串

1)re.findall,字符串)

2)重.findall(R “ '(*)(< \)。?!'”,字符串)

因此,像:

1 + 2)re.findall(R “'| \”(? <!\)['| \“]”,字符串)

但这不起作用。

我想'abc \'\“'”abc \'\'“使用相同的正则表达式进行评估。 'abc \“\”“预计不会工作,如果引用被交换,允许相同的正则表达式也可以使用它。是否有可能?

+0

正则表达式无法比拟的内部逃过可满足引号与外部引号,你需要一个char-by-char解析来正确地为所有情况做到这一点。授予一些案件将被解析的正则表达式,但大多数会打破 –

+0

考虑一个报价逃脱多次像'“\\\”“”这将不会正确解析正则表达式 –

+0

谢谢你@NikosM。 – rubymom

回答

0

不确定我确切地理解你想要的,但它是可能重新使用在正则表达式捕获组的值
可以下列方式完成这项工作:
([ '“])\ 1

说明(*):
([' “]):报价或双引号捕获为第一组
(。 *):第二组捕捉一切......
\ 1:......直到第一组值再次
结果是第二组

相关问题