我可以使用正则表达式来引用修改后的捕获吗

时间:2015-01-13 07:22:59

标签: python regex

我在python中使用正则表达式。我对re的了解是,我可以使用"([a-z]{2,4}) is \1"之类的模式来匹配文本"food is food"中的"I think food is food."或文本"cat is cat"中的"I think cat is cat."

我现在要做的是匹配一些反向序列,例如"food is doof""cat is tac",这需要修改后的引用。

无论如何使用正则表达式来匹配它吗?感谢

2 个答案:

答案 0 :(得分:2)

问题解决了! perl的正则表达式中有一个称为动态正则表达式(或类似的东西)的功能,您可以在其中将代码插入正则表达式并获取返回的值。这用作(?? {code})。 就我而言,代码将是:

/([a-z]{2,4})(??{reverse($1)})/

答案 1 :(得分:1)

您无法找到任何长度的正则表达式,您可以做的最好的是特定长度的正则表达式。

E.g。一个4个字母的单词:

([a-z])([a-z])([a-z])([a-z]) is \4\3\2\1