Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在条件正则表达式中反向引用时,错误显示意外字符_Python_Regex - Fatal编程技术网

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)>|(?!>))