正则表达式,用于具有5个数字或IND/5个数字的字符串

2024-10-01 00:14:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试构建一个正则表达式来匹配5位数字或前面有IND/的5位数字

10223匹配返回10223
IND/10110匹配返回10110
ID is 11233匹配返回11233
Ref is:10223匹配返回10223 Ref is: th10223不匹配

SBI12234不匹配
MRF/10234不匹配
RBI/10229不匹配

我用过foll。使用单词边界概念正确选择5位数字的正则表达式。但不确定如何允许IND,不允许MRF等任何东西: /b/d{5}/b

如果我放(IND)?在regex的开头,它就没用了。有什么提示吗?你知道吗


Tags: refid概念is数字单词regex边界
3条回答

python不支持可变长度lookback,请改用alternation:

(?:(?<=IND/| is[: ])\d{5}|^\d{5})(?!\d)

Demo

使用look behind

(?<=^IND\/|^ID is |^)\d{5}\b

live demo。你知道吗

因为look-behind不消耗任何输入,所以整个匹配就是您的目标号码(即不需要使用组)。你知道吗

这应该有用:(?<=IND/|\s|^)(\d{5})(?=\s|$)。你知道吗

相关问题 更多 >