Python 在条件正则表达式中反向引用时,错误显示意外字符
目的是匹配模式Python 在条件正则表达式中反向引用时,错误显示意外字符,python,regex,Python,Regex,目的是匹配模式“abc”或“”,而不是”。仅当存在开口角撑杆时,端部的闭合角撑杆才应匹配。我认为可行的逻辑如下 (<)?(abc)(?(\1))> ( 我正在尝试使用可用的反向引用和条件。但错误在正则表达式中的第二个问号“?”处显示意外字符。如果需要,我将尝试在python上执行此操作。这似乎过于复杂。为什么不: <abc>|(?<!<)abc(?!>) |(?) 也就是说,无论是还是abc都没有。这可能意味着更多的回溯,但更容易理解,而且会做正
“abc”
或“
”,而不是”
。仅当存在开口角撑杆时,端部的闭合角撑杆才应匹配。我认为可行的逻辑如下
(<)?(abc)(?(\1))>
(
我正在尝试使用可用的反向引用和条件。但错误在正则表达式中的第二个问号
“?”
处显示意外字符。如果需要,我将尝试在python上执行此操作。这似乎过于复杂。为什么不:
<abc>|(?<!<)abc(?!>)
|(?)
也就是说,无论是
还是abc
都没有
。这可能意味着更多的回溯,但更容易理解,而且会做正确的事情!条件句的语法略有不同,请尝试以下方法:
(<)?(abc)(?(1)>|)
<>但是,这可以被认为比简单的<代码> >(代码)<代码> >由DAONE发布的更复杂。你使用什么语言?那是因为我有一个复杂的正则表达式代替“ABC”。(可能先把事情简化一点,这样我就可以使用更像上面的东西)而不是试图把所有的事情都放在一个整体上。有时候,当通过一些外部排序、条件和循环变得简单时,想办法把所有的事情都组合成一个魔术需要花费太多的精力…
(<)?(abc)(?(1)>|(?!>))