line_re = re.compile(r'(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s+(\S+):\s+(?P<name>.*)')
我正在试图理解?p
是什么意思。即使我将其删除,该表达式的工作原理也是一样的,即:
line_re = re.compile(r'(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s+(\S+):\s+(.*)')
我知道我可以用match.group(3)
引用匹配的模式。?P
是什么?
在re
模块文档中:
(?p
与常规括号类似,但组匹配的子字符串可通过符号组名name访问。组名必须是有效的Python标识符,并且每个组名只能在正则表达式中定义一次。一个符号群也是一个编号群,就像这个群没有命名一样。
因此,它本质上与您更改的模式相同,只是现在您不能再通过名称和编号访问该模式了。
要理解它们的区别,我建议您阅读正则表达式howto中的非捕获组和命名组。
您可以通过将名称传递给matchobject.group()
方法来访问命名组,或者使用matchobject.groupdict()
获取包含所有命名组的字典;此字典将不包括位置组。
问题内容: 我在以下正则表达式中找到了它: 它将方括号(及其内容)与嵌套方括号匹配。 问题答案: 是一个字符类,表示除和以外的所有字符。 您可以避免转义和特殊字符,因为它对于PCRE(函数中使用的正则表达式引擎)不是模棱两可的。 由于在PCRE中不正确,因此正则表达式解析的唯一方法是在字符类内部,该字符类稍后将关闭。与以下相同。它不能重新打开字符类内的字符类(POSIX字符类除外)。然后最后一个清
代码: 输出: 请注意它是而不是(意思是字母)。我在谷歌上搜索了一下,但什么也没找到。有人能给我一些提示吗?
和?我试着在谷歌上搜索,但没有成功。
我试图理解正则表达式^(\d{1,2})$在google Sheets中代表什么。快速浏览一下regex站点和intools让我感到困惑。有谁能帮忙吗?
这个正则表达式什么意思?这里$1代表什么?