请问怎么理解这个正则表达式"尀"(?P<first>.+)尀""

2024-12-03 09:26:38
推荐回答(2个)
回答(1):

你的这一条正则表达式是要匹配“双引号之间除换行之外的所有字符,并以名称为first为名进行捕获

但是,这里却使用了貌似只有Python支持的P前缀,我觉得这种用法是给Python使用的一种专用命名组的方式。

这是较为先进的正则用法,它可以方便用户在正则内部或外部对匹配来的组进行调用。

而自从正则引入了这个概念(功能)之后,正则能够完成的事情更加强大了。

你可以参考下面的这篇很不错的文章,来了解正则捕获组的意义和用法:

参考资料:
【正则基础之——捕获组(capture group)】http://blog.csdn.net/lxcnn/article/details/4146148
【Python正则之(?P=name)匹配前面已命名的组】http://www.crifan.com/detailed_explanation_about_python_regular_express_match_named_group/
【Python正则之(?P…)带命名的组】http://www.crifan.com/detailed_explanation_about_python_regular_express_named_group/

回答(2):

括号捕获分组
(?P)为命名捕获,名称为first