re模块中的((P <name> ...)和\ g <quote>`

时间:2019-05-31 09:31:56

标签: python

在阅读python regex模块时,(?P<name>...)通常使我感到困惑。

我从答案python - Named regular expression group "(?Pregexp)": what does "P" stand for? - Stack Overflow那里知道P的标准只是随机事物,如foo bar zoo

  

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

enter image description here

错误通常会在re.sub的repl参数中使用\g<quote>

自从我尝试成为pythonic并向其他人解释了根本问题。

为什么在\g<quote>中使用g而不是p?为什么不在(?P<name>...)中使用G?

所以会有一些混乱之余。

0 个答案:

没有答案