有我的正則運算式
\[a:section(.*)\](.*)\[\/a:section\]
https://regex101.com/r/wtN6Rk/1
我想像這樣檢測
Group1 : asasasas
Group2 : [a:widget type=blog][a:widget type=blog][a:widget type=blog]
但是我的正則運算式代碼匹配錯誤,我該如何解決?
編輯:如果我不在 group2 中使用“[”字串,它可以滿足我的需求。
uj5u.com熱心網友回復:
.*是貪婪的。它將匹配任何字符,盡可能多。
相反,您應該更好地使用.*?,這是惰性替代方法(盡可能少地匹配任何字符)。
您可以在此處測驗演示。
@Casimir et Hippolyte 指出的另一個選項可能是將點替換為不包括右方括號的字符類,例如[^]]. 它也更快(54 步而不是 74 步)。
你可以在這里測驗它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437245.html
標籤:正则表达式
上一篇:用部分子字串替換字串的子字串
下一篇:如何消除或模仿負面的后視?
