我想提取,
ID=(?P<group>.+?);
,'ID ='是常量,组可以是任何东西。比赛的位置会因字符串而异。
在大多数情况下这很好,但偶尔匹配将在字符串的末尾,并且分号将丢失。在这种情况下,我如何选择匹配字符串的结尾?我尝试了以下方法:
ID=(?P<group>.+?)[;$]
但这似乎不起作用,我想是因为$不是一个角色(它是一个锚?)。
这是使用re模块在Python中完成的,并且所有正常行为(例如使用原始字符串)已被考虑(我认为!)。
答案 0 :(得分:21)
您可以使用(;|$)
来匹配它。或者,如果您不想捕获,(?:;|$)
答案 1 :(得分:1)
如果未启用选项re.MUTILINE($表示字符串结尾)
ID=(?P<group>)[^;]+
如果启用了选项re.MUTILINE($表示行尾)
ID=(?P<group>)[^;\r\n]+
顺便说一句,你捕获的是什么:(?P&lt; group &gt;)和';'之间的关系?