如果您能帮助我,我希望能够使用正则表达式检测以下表达式: 例如 它应该只能检测到80号 但也是80/60 还有80/60/75 最高为4 80/60/75/50 每次最后一次可能是XXX 例如80 / XXX 或80/60 / XXX 或80/60/75 / XXX
感谢您的帮助
答案 0 :(得分:1)
您可以使用此正则表达式:
^(?:\d+/){1,3}(?:\d+|XXX)$
<强>详细信息:强>
^
:开始(?:\d+/){1,3}
:匹配一个数字后跟/
1到3次(?:\d+|XXX)
:follo $
:结束答案 1 :(得分:0)
如果确定开头的数字,则可以使用:
r"$DETERMINED_NUMBER$/(\d{2}\/){0,2}\d{2,3}"
如果未确定开头的数字,则必须有空格,否则您将检测到具有4个以上数字的字符串。如果存在这种情况,你可以使用:
r" (\d{2}\/){1,3}\d{2,3}"
答案 2 :(得分:0)
正则表达式:^\d{2}(?:(?:/\d{2}){0,2}/(?:\d{2}|XXX))?$
如果您需要匹配文字,请使用:\b\d{2}(?:(?:/\d{2}){0,2}/(?:\d{2}|XXX))?\b
详细说明:
(?:)
非捕获组{n}
完全匹配n
次{n,m}
n
和m
次之间的匹配?
匹配0到1次|
或