想写一份RegEx来验证驾驶执照。
如果它不是以(US,CA,CN)开头,则必须跟随XX,然后使用任意数量的Alpha数字字母。
因此,例如,如果驾驶执照以GB开头,则必须遵循XX GBXX12345363 然而,如果从美国开始,那么我们不关心它后面发生了什么。 USLA039247230
答案 0 :(得分:3)
记住并不是每个人都熟悉驾驶执照符号,我假设接下来的是精确的规范(当你要求正则表达式时你应该非常精确地做其他人你会得到你不想要的东西):
如果前两个字母不是美国,CA或CN,那么接下来的两个字母必须是X,其余字母必须是字母数字和未指定的长度
((US | CA | CN)[A-ZA-Z0-9] + |(小于?!(US | CA | CN))[AZ] {2} XX [A-ZA-Z0-9 ] +)
第一部分:
第二部分:
它匹配第一部分或第二部分
答案 1 :(得分:0)
/^(?:(?:US|CA|CN)\w+|[[:alpha:]]{2}XX\w+)$/
我不确定是否可以进行更多验证,但这是我从你所写的内容中获得的,而不是你的例子(这似乎暗示了四个字母后跟数字)。
答案 2 :(得分:0)
如果您的正则表达式库允许,您可以使用Look Behind功能。
答案 3 :(得分:0)
/^((US|CA|CN)[a-zA-Z\d]*|[a-zA-Z]{2}XX[a-zA-Z\d]*)$/