1

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

开括号,3 个数字,后跟右括号:

应该适合的示例:

  1. (111)测试
  2. 【212】你好
  3. (321)

不应该工作:

  • (a22)测试
  • (任何带小数点或负数的)

到目前为止我创建的内容:

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

我错过了什么?

4

1 回答 1

3

你可以试试这样的东西:^\(\d{3}\).*$.

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

正则表达式将尝试匹配任何其他字符的零次或多次重复,然后才能找到字符串的结尾。

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

于 2013-08-22T07:57:23.350 回答