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

两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,<first>是指什么,为什么要塞在这里?... 两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,<first>是指什么,为什么要塞在这里? 展开
 我来答
cmoooo
推荐于2017-11-25 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:670万
展开全部
你的这一条正则表达式是要匹配“双引号之间除换行之外的所有字符,并以名称为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<name>…)带命名的组】http://www.crifan.com/detailed_explanation_about_python_regular_express_named_group/
lghts
2013-06-15 · 超过12用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:28.7万
展开全部
括号捕获分组
(?P)为命名捕获,名称为first
追问
这个名称有什么用,直接捕获不就达到目的了吗,为什么要起名称?谢谢。。
追答
如果不用名称,捕获的是按括号顺序来的,嵌套太多太复杂,你分得清顺序?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式