正则表达式如何匹配带有可选周围括号的模式?

时间:2013-02-12 13:51:04

标签: .net regex parentheses optional

我正在寻找一个单行正则表达式,它与带有可选括号的模式匹配。当括号出现时,它们不应包含在匹配的模式中。

以下粗体文字说明了应该/不应该匹配的内容:

应匹配:

  

“标题说明( AAA123 )”

     

“( ABC000 )标题说明”

     

“标题说明 DEF999

     

“标题 - RST321 - 说明”

不应该匹配:

  

“标题说明AB123”

     

“标题说明CCC456a”

     

“标题说明(ABE999c)”

1 个答案:

答案 0 :(得分:3)

试试这个正则表达式:

\b[a-zA-Z]{3}\d{3}\b

匹配:

# \b          - A word boundary,
# [a-zA-Z]{3} - followed by 3 letters,
# \d{3}       - followed by 3 digits,
# \b          - followed by a word boundary.

正则表达式不关心括号,如请求,但不匹配太长的字符串。