一系列复杂的前缀后缀对的正则表达式?

时间:2015-04-09 08:57:09

标签: regex

我需要一个regexp来验证以空格分隔的ID列表,每个ID都可以是:

  • 整数位
  • 任意字符序列后跟" - " (短划线)然后按整数位。

    12 
    ABCD-124
    

且不允许的案例是:

  • 任何字符序列,它不是整数,并且后面跟不是BOTH破折号和整数。在序列不足以验证之后短划线。

    ABCD-
    ABDCE
    

我特别需要帮助来了解如何进行可选检查,对于"任何角色加短划线"部分在整数部分之前。

3 个答案:

答案 0 :(得分:2)

关于可选的“任何字符加短划线”:您可以使用\S(非空间的anuthing),因为您不允许输入中的空格。破折号(或者是示例中的连字符?)可以与简单的-匹配。要使此组可选,请将其放入非捕获组并添加?量词。

我认为你正在寻找这个正则表达式:

^(?:\S+-)?\d+$

这是demo

enter image description here

P.S。为了摆脱downvotes,请始终提供您尝试过的东西并解释哪些不起作用。表明你是活跃的。

答案 1 :(得分:0)

使用此RegEx:/([A-Z]+)?-?[0-9]+/

RegEx Demo and Explanation

答案 2 :(得分:0)

您可以使用:(\w+-)?\d+

说明:

  • (\w+-)? =>任何字符序列后跟-(零或一次出现)
  • \d+ =>整数位数

请参阅DEMO