2015-06-03 25 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:......直到第一組值再次
結果是第二組

相關問題