[英]Using regex to find block containing a certain word
我正在嘗試使用正則表達式查找類似這些的塊。 下面顯示了我要查找的代碼示例,
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”的塊。 誰能幫我嗎?
嘗試這個:
entity\s*\{[^}]*"classname" "light"[^}]*\}\s*\}
此處的關鍵術語是[^}]*
,以確保匹配不會延續到下一個塊。
結合示例和不匹配的示例,觀看此正則表達式的實時演示 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.