匹配任何以...开头的字符串(###)

时间:2013-08-22 07:53:55

标签: regex

我是regex的新手,我正在尝试创建一个匹配以下字符串开头的字符串的表达式:

打开括号,3位数字,后跟右括号:

适合的范例:

  1. (111)测试
  2. (212)hello
  3. (321)
  4. 不应该工作:

    • (A22)测试
    • (任何小数点或负数)

    到目前为止我创造了什么:

    ^(\d{3}^)*我在一些在线正则表达式测试网站上试过这个,但匹配不起作用。

    我错过了什么?

1 个答案:

答案 0 :(得分:3)

你可以尝试这样的事情:^\(\d{3}\).*$

上面应匹配以括号开头的任何字符串(不是括号是正则语言中的特殊字符,因此需要进行转义,因此在开头有额外的\)由3位数和一个右括号(这也是一个特殊字符。

在期望找到字符串的结尾之前,正则表达式将尝试匹配任何其他字符的零次或多次重复。

除了需要转义括号之外,你的正则表达式看起来很好,但是,它会查找括号模式的零次或多次重复。这意味着它也可以匹配foobar