Python正则表达式命名组以
我有这个正则表达式模式Python正则表达式命名组以,python,regex,Python,Regex,我有这个正则表达式模式 r'^(?P<my_group>[-\w]+)' 您不会将其放在方括号(字符类)中,而是放在方括号之外: r'^(?P<my_group>fo[-\w]+)' r'^(?Pfo[-\w]+)' 当前正则表达式正在匹配[[^fo]中的一个字符(即[^fo),后跟破折号、“单词字符”和一个或多个] 您可以在上测试您的正则表达式。您应该使用fo[\w-]+而不是[[^fo]-\w]+。 您的字符类有点乱。在方括号内,您必须放置要匹配的字符(也作为间
r'^(?P<my_group>[-\w]+)'
您不会将其放在方括号(字符类)中,而是放在方括号之外:
r'^(?P<my_group>fo[-\w]+)'
r'^(?Pfo[-\w]+)'
当前正则表达式正在匹配[[^fo]
中的一个字符(即[^fo
),后跟破折号、“单词字符”和一个或多个]
您可以在上测试您的正则表达式。您应该使用
fo[\w-]+
而不是[[^fo]-\w]+
。
您的字符类有点乱。在方括号内,您必须放置要匹配的字符(也作为间隔,如[a-z]
)。如果要匹配-
,最好将其放在字符类的末尾,以避免与间隔混淆(因此您应该编写类似[a-d-]
匹配a
,b
,c
,d
和-
)。
如果在字符类的开头放置了^
,则希望匹配所有未列出的字符,因此[^a-d-]
将匹配除a
、b
、c
、d
和-
之外的所有字符。
请注意,在字符类之外,^
表示字符串的开头
r'^(?P<my_group>fo[-\w]+)'