正则表达式,用于可选地匹配字符串的结尾(可选$)

mrm*_*oey 10 python regex

我想提取,

ID=(?P<group>.+?);

从字符串开始,'ID ='是一个常量,组可以是任何东西.比赛的位置会因字符串而异.

在大多数情况下这很好,但偶尔匹配将在字符串的末尾,并且分号将丢失.在这种情况下,我如何选择匹配字符串的结尾?我尝试了以下方法:

ID=(?P<group>.+?)[;$]
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用,我想是因为$不是一个角色(它是一个锚?).

这是使用re模块在Python中完成的,并且已经考虑了所有正常行为,例如使用原始字符串(我认为!).

Lil*_*ard 22

您可以使用(;|$)它来匹配它.或者如果你不想捕获,(?:;|$)