代码之家  ›  专栏  ›  技术社区  ›  GAJESH PANIGRAHI

无法创建regex[重复]

  •  0
  • GAJESH PANIGRAHI  · 技术社区  · 7 年前

    我不知道regex以及如何与javascript匹配。

    我想验证字符串是否有:

    MI:0A1

    马克斯:10J10

    like: /10|[0-9][A-J]10|[1-10]/
    

    但它不起作用。

    事先谢谢。

    2 回复  |  直到 7 年前
        1
  •  4
  •   Tim Pietzcker    7 年前

    这种模式 [1-10] 匹配范围为1-1或0。

    你可以用一个 alternation 那场比赛 [0-9] (或) [1-9] 对于第二种情况)或 10 :

    ^(?:10|[0-9])[A-J](?:10|[1-9])$
    

    Regex demo

    let pattern = /^(?:10|[0-9])[A-J](?:10|[1-9])$/;
    strings = [
      "0A1",
      "10J10",
      "6A10",
      "11J10"
    ].forEach(s => {
      console.log(s + " ==> " + pattern.test(s));
    });
        2
  •  1
  •   Sau    7 年前

    试试这个:

    /([0-9]|10)[A-J]([1-9]|10)/
    

    在你的正则表达式中:

    [1-10] is wrong : is the same that : any caracters between 1 and 1 or 0
    
    推荐文章