正则表达式捕捉{}

时间:2012-03-01 16:29:55

标签: regex

您好我需要创建一个符合以下模式的正则表达式:

字符串中的

{any characters}。可能的字符串示例:

示例1:

{123} abc {456} def {789} hg 应该返回3场比赛:

{123},{456}和{789}

示例2:

abcd {{{r} 345} {mmm}

应返回2个数学{r}和{mmm}

所以基本上表达式应该匹配{任何不是{}的任何次数,然后是结束}

到目前为止,我已经提出了这个问题,但它无效:

{* [^ {]}

非常感谢

2 个答案:

答案 0 :(得分:3)

这是你需要的那个:

{[^{}]*}

答案 1 :(得分:2)

与ILovePaperTowels所说的一样 - 如果通过您正在使用的特定正则表达式语法将大括号视为特殊,则需要对大括号进行转义。

关于如何逃避大括号的确切答案,以及如何正确计算嵌套括号(以任何方式计算它们),取决于正则表达式的风格。