请问怎么理解这个正则表达式"\"(?P.+)\""两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,是指什么,为什么要塞在这里?

来源:学生作业帮助网 编辑:作业帮 时间:2024/08/04 17:35:42
请问怎么理解这个正则表达式
xTkO`+ fИeY~ ) RJtߪM Max"7V{ޖO%dY4}{s;NwZjf)m֤Jz٪U;c0tϢ}6^ =} XzzʍS92JcPE6-h9|A ;Ho>ʙf4X(c Ydt@~ш@v֟ w!ڏz-Z5 qhN9&2lB`PWvžU*l32gd5b#.z@.? r4cs0`.`h:vE, w;#[pV]W/[I6=NJSYTj80d.㘚F64v1UV4'e ogѣ&!n]%ѥT5+sNEN5mlkZ0}0}l%GFNTQ%G8KfKA&SO@@I3ݠoZ*ONNY+LwN m:cbrI?o5ɃP0dgju<0k;uoph-(Ĕ,>Y:WwV%"eo0$񂬄ٹs/5q8 W*ΰ9Ҡm^ ;ښ7(_ 7]u)P@\EIPQ) ,EJ dq9d@W6a(Nm@i 9i

请问怎么理解这个正则表达式"\"(?P.+)\""两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,是指什么,为什么要塞在这里?
请问怎么理解这个正则表达式"\"(?P.+)\""
两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,是指什么,为什么要塞在这里?

请问怎么理解这个正则表达式"\"(?P.+)\""两个\"是代表取两个引号之间的字符串,但是?P代表什么?另外,是指什么,为什么要塞在这里?
你的这一条正则表达式是要匹配“双引号之间除换行之外的所有字符,并以名称为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/