Python 我可以使用正则表达式反向引用修改后的捕获吗?
我正在python中使用正则表达式。关于re我已经知道的是,我可以使用像Python 我可以使用正则表达式反向引用修改后的捕获吗?,python,regex,Python,Regex,我正在python中使用正则表达式。关于re我已经知道的是,我可以使用像“([a-z]{2,4})is\1”这样的模式来匹配文本“我认为食物就是食物。”或文本中的“猫就是猫”“我认为猫就是猫。” 我现在想做的是匹配一些倒序,比如“food is doof”,或者“cat is tac”,这需要修改后的back引用 是否仍有使用正则表达式匹配的方法?谢谢您找不到任何长度的regexp,最好是针对特定长度的regexp 例如,对于4个字母的单词: ([a-z])([a-z])([a-z])([a-z
“([a-z]{2,4})is\1”
这样的模式来匹配文本“我认为食物就是食物。”
或文本中的“猫就是猫”
“我认为猫就是猫。”
我现在想做的是匹配一些倒序,比如“food is doof”
,或者“cat is tac”
,这需要修改后的back引用
是否仍有使用正则表达式匹配的方法?谢谢您找不到任何长度的regexp,最好是针对特定长度的regexp
例如,对于4个字母的单词:
([a-z])([a-z])([a-z])([a-z]) is \4\3\2\1
问题解决了
perl的正则表达式中有一个称为dynamic regex(或类似的东西)的特性,您可以将代码插入正则表达式并获取返回值。这被用作(?{code})。
就我而言,代码是:
/([a-z]{2,4})(??{reverse($1)})/
你试过什么吗?不,你不能只通过正则表达式来做。我想做的是在一个长序列中匹配一些DNA基序。因此,这个主题被隐藏在序列中。我们不知道主题从哪里开始,所以我们不能用“^”来匹配序列的开头@AvinashRaj使用这个(?而不是凝视锚..它断言匹配不会以非空格字符开头..你能提供一个例子吗?@AvinashRaj现实生活中的例子是一个模式:p1=2..4 TA~p1
,这意味着模式以p1开头,后面是2到4个字母,后面是字母“TA”,然后是p1的反向补码(在反向后做一些替换)。然后我需要定位模式p1=2..4 TA~p1
,由大约1000个[ATGC]
组成的序列。谢谢,你已经解决了我原来的帖子。但是,我想要的是匹配一个长度范围,比如{2,4}。