Javascript正则表达式部分匹配

时间:2015-06-17 08:09:50

标签: javascript regex string matching partial

我正在寻找一个简单的javascript正则表达式,它应匹配像

这样的字符串
AAAA(abcd,6) 
AAAA(WXYZ,2) 

但不应匹配

之类的字符串
AAAA(abcd,6,9)

我和正则表达式一起出现了

AAAA\(.*,\d\)

但它符合上述所有三个。

非常感谢任何帮助!

提前致谢!

3 个答案:

答案 0 :(得分:2)

那是因为.*会匹配任何内容,包括,6.替换为[^,](任何字符,但逗号)

AAAA\([^,]*,\d\)

答案 1 :(得分:1)

根据您想要匹配的内容,您可以使用类似

的内容
A{4}\([a-zA-Z]{4},\d\)
  • A {4}恰好与角色A匹配4次。
  • \(匹配字符(
  • [a-zA-Z] {4}匹配a到z的任何小写或大写字符 恰好4次。
  • ,匹配角色,
  • \ d匹配一个数字。
  • \)匹配角色)

您当然可以修改它以满足您的需求,我建议您在regex101进行测试,因为它会在您输入正则表达式时为您提供即时反馈。

答案 2 :(得分:0)

var regex = /AAAA\([a-z]*,\d\)/i;

regex.test("AAAA(abcd,6)") => true;

regex.test("AAAA(WXYZ,2)") => true;

regex.test("AAAA(abcd,6,9)") => false;