我正在尝试使用RegEx创建输入掩码。第一个字母可以是A或B,它必须是数字后的5位数,但范围是1-99999。 例如,
A00001
B20000
B00412
这是我到目前为止所拥有的,
^[S|T]{1}[0-9]{4}[1-9]
但它不允许使用A52210。
提前致谢:)
答案 0 :(得分:0)
我不确定[S|T]
应该做什么,但这是S|T
之一 - S
,|
或{{}之一1}}。此外,T
无关紧要,您的号码不会适用于您期望的范围({1}
说[0-9]{4}[1-9]
到00001
,但不是任何数字后跟零,即99999
)。
11110
注意:如果要在长字符串上使用此正则表达式,并且字符串的内容可能包含您要搜索的字符串,则应替换两个位置断言{{1根据以下正则表达式,{}和^[AB](?!0{5})\d{5}$
带有单词边界^
。
$
版本略短,但依赖于字符串的结尾(如果字符串位于句子中间,则不会工作)
\b
负面的背后(在一些正则表达式中不会起作用)
\b[AB](?!0{5})\d{5}\b
长期滋扰正则表达式检查每种可能性,但确保至少有一个数字不是^[AB](?!0+$)\d{5}$
^[AB]\d{5}(?<!0{5})$
注意:以下是匹配项;来自0
以上的任何内容都不匹配。
A00001
B20000
B00412
A52210
A00001
A00000
S00001
A1000
Input
在行首处断言位置A00001
B20000
B00412
A52210
A00001
匹配集合中的字符(字面意思为^
或[AB]
)A
确保以下内容不是B
五次(?!0{5})
匹配任意数字五次0
断言行尾的位置