繁体   English   中英

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

[英]Regular expression for optionally matching the end of a string (optional $)

我想提取,

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

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

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

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

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

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

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

如果未启用选项re.MUTILINE($表示字符串结尾)

ID=(?P<group>)[^;]+

如果启用了选项re.MUTILINE($表示行尾)

ID=(?P<group>)[^;\r\n]+

顺便说一下,你捕获了什么:(?P < group >)和';'之间的关系

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM