我需要帮助找出一些Python正则表达式
我已经试着把我的头绕到下面,但我的推理仍然有很大的漏洞。什么是?:,有人能给我解释一下吗我需要帮助找出一些Python正则表达式,python,regex,Python,Regex,我已经试着把我的头绕到下面,但我的推理仍然有很大的漏洞。什么是?:,有人能给我解释一下吗 rule_syntax = re.compile('(\\\\*)'\ '(?:(?::([a-zA-Z_][a-zA-Z_0-9]*)?()(?:#(.*?)#)?)'\ '|(?:<([a-zA-Z_][a-zA-Z_0-9]*)?(?::([a-zA-Z_]*)'\ '(?::((?:\\\\.|[^\\\\>]+)+)?)?)?>))') ru
rule_syntax = re.compile('(\\\\*)'\
'(?:(?::([a-zA-Z_][a-zA-Z_0-9]*)?()(?:#(.*?)#)?)'\
'|(?:<([a-zA-Z_][a-zA-Z_0-9]*)?(?::([a-zA-Z_]*)'\
'(?::((?:\\\\.|[^\\\\>]+)+)?)?)?>))')
rule\u syntax=re.compile(“(\\\*)”\
“(?:(?::([a-zA-Z_][a-zA-Z_0-9]*)?”(?:(?:(*))”\
'|(?:]+)+)?)?)?>))')
有两种工具可以帮助您了解
(?:expr)
与普通括号(expr)
类似,只是为了以后检索组(反向引用、re.sub
或MatchObject.group
),以?:
开头的括号组被排除在外。如果您需要捕获括号中的复杂表达式以对其应用另一个运算符(如*
),但又不想将其与以后实际需要检索的组混合,则此操作非常有用。”
?::
是简单的?:
后面跟着一个文字:
,“这是你的”链接只是说“麻烦:不匹配的paren”是否还有其他没有意义的部分,或者仅仅是?:
位是的,我自己也很好奇为什么会在那里。这完全没用。它生成一个空的匹配组。您可以安全地删除它,只要确保在需要时调整您的比赛组号即可。