Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 `(?P<;name>;…)和`\g<;报价>;`in-re模块_Python - Fatal编程技术网

Python `(?P<;name>;…)和`\g<;报价>;`in-re模块

Python `(?P<;name>;…)和`\g<;报价>;`in-re模块,python,Python,在阅读python正则表达式模块时,(?p..)通常让我感到困惑 我从答案中知道这里除了随机的东西以外什么都没有,比如foobarzoo (?p…) 与普通括号类似,但组匹配的子字符串可以通过符号组名访问。组名必须是有效的Python标识符,并且每个组名只能在正则表达式中定义一次。符号组也是一个编号的组,就像该组没有命名一样。 命名组可以在三种上下文中引用。如果模式为(?P['”).*(?P=quote)(即匹配带单引号或双引号的字符串): 使用\g时,在re.sub中的repl参数中经常出错

在阅读python正则表达式模块时,
(?p..)
通常让我感到困惑

我从答案中知道这里除了随机的东西以外什么都没有,比如
foo
bar
zoo

(?p…)

与普通括号类似,但组匹配的子字符串可以通过符号组名访问。组名必须是有效的Python标识符,并且每个组名只能在正则表达式中定义一次。符号组也是一个编号的组,就像该组没有命名一样。
命名组可以在三种上下文中引用。如果模式为(?P['”).*(?P=quote)(即匹配带单引号或双引号的字符串):

使用
\g
时,在
re.sub
中的repl参数中经常出错

因为我试着像蟒蛇一样,向别人解释根本的东西

为什么在
\g
中使用g而不是p,或者为什么不在
(?p…)
中使用g


所以会有一些一致性而不是混乱。

我会说,这是因为
\g
始终是一个组。例如,在文档后面的“\g使用相应的组号”。我想,正如您提供的链接中所讨论的那样,p最初并不是针对组的。
(?P
在上面的答案中提到的是关于正则表达式的一般扩展。原始的正则表达式命名组是
,那么通过添加一个P@h4z3Nope来扩展什么呢。
(?
是一些东西,只有在有了P之后,我们才知道它是这种类型的扩展。
(?
本身并不意味着什么,它可以是
(?:
-非捕获组。正如我所说的,并且您自己链接了它-P可能被选为一个通用的pythonic regex扩展,最初被认为不仅仅用于组。检查wikepedia@h4z3aaa中的regex,
(?
本身并不意味着什么,只意味着非严格的regex会发生。
(?我会说这是因为
\g
始终是一个组。例如,在文档后面的“\g使用相应的组号”。我想P最初并不是为组生成的,正如您提供的链接中所讨论的那样。
(?P
在上面的答案中提到的是关于正则表达式的一般扩展。原始的正则表达式命名组是
,那么通过添加一个P@h4z3Nope来扩展什么呢。
(?
是一些东西,只有在有了P之后,我们才知道它是这种类型的扩展。
(?
本身并不意味着什么,它可以是
(?:
-非捕获组。正如我所说的,并且您自己链接了它-P可能被选为一个通用的pythonic正则表达式扩展,最初被认为不仅仅用于组。检查wikepedia@h4z3aaa中的正则表达式,
(?
本身并不意味着什么,只意味着非严格正则表达式将发生。
(?)?