匹配“{”括号内的单词所需的正则表达式

时间:2016-01-18 06:48:02

标签: regex

我需要一个正则表达式,它可以匹配字符串或文本中的下面的单词:

{=rankedArea?metricType=3902&area={parent-area-identifier}:AdministrativeWard}
{=compare?metricType=3281&area={child-area-identifier}&with={parent-area-identifier}&period=cal_2011&greater=greater than&equal=equal to&less=less than} 
{district-short-label} 
{child-area-short-label} 
{authority-area-short-label}

基本上,它应匹配以“{”开头的单词和以“}”结尾的单词,但它也应该考虑其间的类似单词,即

{=compare?metricType=3281&area={child-area-identifier}&with={parent-area-identifier}&period=cal_2011&greater=greater than&equal=equal to&less=less than} 

在上面的表达式中,它还应该考虑{parent-area-identifier}并且应该与上面提到的表达式匹配。

1 个答案:

答案 0 :(得分:2)

假设您不需要担心{...}任意嵌套,您可以写:

[{](?:[^{}]+|[{][^{}]*[}])*[}]