我正在尝试创建一个正则表达式来验证一个字段,用户可以输入一个5位数字,并可以选择添加/
后跟3个字母。我尝试了以下代码的一些变体:
^(\d{5})+?([/]+[A-Z]{1,3})?
但我似乎无法得到我想要的东西。
例如,我希望用户输入一个5位数字,例如12345
,可以选择添加正斜杠,然后添加任意3个字母,例如12345/WFE
。
答案 0 :(得分:8)
你可能想要:
^\d{5}(?:/[A-Z]{3})?$
根据你的正则表达风格,你可能不得不逃避正斜杠。
说明:
^
- 字符串锚的开始\d{5}
- 5位数(?:/[A-Z]{3})
- 由文字/
后跟3个大写字母组成的非捕获组(根据您的需要,您可以考虑通过删除?:
将其设为capturing group })。?
- 前面的0或1(在这种情况下是直接在上面的非捕获组)。$
- 字符串锚点结束总而言之,正则表达式看起来像这样:
答案 1 :(得分:2)
您可以使用此正则表达式
/^\d{5}(?:\/[a-zA-Z]{3})?$/
答案 2 :(得分:2)
^\d{5}(?:/[A-Z]{3})?$
这是实践中(这是一个测试你的正则表达式的好网站): http://regexr.com?36h9m
答案 3 :(得分:2)
^(\d{5})(\/[A-Z]{3})?
中测试过