特定格式的正则表达式模式

时间:2014-05-14 01:16:51

标签: regex

我不是很擅长正则表达式,或者我可以说我是一个完全初学者。我想通过以下格式了解正则表达式:

  1. LB- [0-999] - " LB - " 0 - 999位数字,开头,中间和结尾没有空格。
  2. XX- [0-19999] - 只有两个大写字母与" - "和0-19999位数字,开头,中间和结尾没有空格。
  3. XXX- [0-19999] - 只有三个大写字母与" - "和0-19999位数字,开头,中间和结尾没有空格。
  4. 我想获得所有三种模式,但我对正则表达式来说真的很新。我打算将它用作html5输入验证,我真的没有时间研究它。

    这是我到目前为止所尝试的:

    ^LB-[0-9]$
    

1 个答案:

答案 0 :(得分:1)

/LB\-[0-9]{1,3}/
/[A-Z]{2}\-1?[0-9]{1,4}/
/[A-Z]{3}\-1?[0-9]{1,4}/

使用[0-9],您只显示此组中的数字:0到9,而[A-Z]只有来自alphabeta的大写字母。在{1,3}和{1,4}中,您有义务至少有一个字母/数字,最多有四个或三个。使用?1,您可以选择在您的号码之前输入数字1,这将仅存在10000或更多的数字。对于每个可能的条目,这是三个不同的。

考虑用户在上一次评论中提出的更改,代码将如下所示:

/LB\-(00[1-9] | [1-9][0-9] | [1-9][0-9]{2})/
/[A-Z]{2}\-(0000[1-9] | 000[1-9][0-9] | 00[1-9][0-9]{2} | 0[1-9][0-9]{3} | 1[0-9][0-9]{3})/
/[A-Z]{3}\-(0000[1-9] | 000[1-9][0-9] | 00[1-9][0-9]{2} | 0[1-9][0-9]{3} | 1[0-9][0-9]{3})/