0

谁能帮我弄清楚为什么以下正则表达式无法匹配?我需要验证字符串是否以“rect(”或“rect(”)开头并以“)”结尾

rect (a,a,a,a)

正则表达式

(^rect+\s*\()+\)$
4

3 回答 3

2

尝试转义(and )

^rect\s*\(.*\)$

这是必需的,因为括号在正则表达式中通常具有特殊含义,因此如果要匹配文字()应该对其进行转义。

这将匹配:

  • 字符串的开头
  • 字面意思rect
  • 零个或多个空白字符
  • 字面意思(
  • 零个或多个任意字符
  • 字面意思)
  • 字符串的结尾
于 2013-10-04T15:16:11.847 回答
2

使用以下一个: ^rect\s*\(.*\)$

于 2013-10-04T15:16:20.190 回答
1

这个正则表达式应该适合你:

^rect\s*\(.*?\)$
于 2013-10-04T15:16:43.633 回答