我正在尝试使用正则表达式来查找这些块。 我试图找到的代码示例如下所示,
entity //This is what I want to select
{
"id" "2"
"classname" "light" //This is what it should contain
"_light" "255 255 255 200"
"_lightHDR" "-1 -1 -1 1"
"_lightscaleHDR" "1"
"_quadratic_attn" "1"
"origin" "-128 0 -128"
editor
{
"color" "220 30 220"
"visgroupshown" "1"
"visgroupautoshown" "1"
"logicalpos" "[0 0]"
}
}
我怎样才能找到这个区块? 不应选择不包含“classname”“light”的块。任何人都可以帮助我吗?
答案 0 :(得分:4)
试试这个:
entity\s*\{[^}]*"classname" "light"[^}]*\}\s*\}
此处的关键术语是[^}]*
,可确保匹配不会延伸到下一个块。
使用您的示例和不匹配的示例查看此正则表达式的live demo。