[英]Regular Expression, match characters between { }
我正在嘗試查找在{}之間包含<或>的文本。 這是在HTML內,我很難使它變得“笨拙”。
所以我想找到與這些字符串匹配的文本:
{test > 3}
{testing >= 3 : comment}
{example < 4}
我已經嘗試了許多正則表達式,但是所有這些似乎都在結束}之后並包括帶有<或>的HTML。 例如,我嘗試了此正則表達式
{.*?(<|>).*?}
但是最終匹配這樣的文本:
{if true}<b>testing</b>{/if}
看起來很簡單,{}之間的任何包含<或>的文本。
這應該可以解決問題:
{[^}]*(<|>).*}
更加高效的正則表達式(因為沒有非貪婪匹配):
'#{[^}<>]*[<>]+[^}]*}#'
第三個字符類中沒有括號的原因是,它匹配具有多個>的字符串(例如{foo <> bar}
...
{[^}]*?(<|>)[^{]*?}
試試看 請注意,我替換了.
的字符類表示除左/右花括號外的所有內容。
您是否嘗試過使用“不滿意(U)”開關?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.