在我的例子中,我想捕获文本中的重复字符;同时,重复模式的前后最多3个字符也应该被捕获。例如,
我在 python 中创造了一个 RE 字符串:
reobj = re.compile("(?P<prefix>.{0,3}) (?P<repeat>(?P<infix>[a-z])(?P=infix){1,}) (?P<postfix>.{0,3})", re.IGNORECASE | re.VERBOSE | re.DOTALL)
但它给出了这样的结果:
有什么帮助吗?谢谢。
最佳答案
您可以使用 4 个捕获组,其中组中缀仅用于捕获要重复的单个字符。
(?P<prefix>.{0,3}?)(?P<repeat>(?P<infix>[a-z])(?P=infix)+)(?P<postfix>.{0,3})
关于python - python正则表达式中的贪婪反向引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67917653/