/<%(?:==|=|#)?[^>]*%>/;
這個正則表達式並不完全適合我的需要。該[^>]
部分應no pattern of '%>'
排除模式正則表達式問題
這是可用的正則表達式的功能: http://docs.kde.org/stable/en/kdebase-runtime/kate/regular-expressions.html
(沒有?
貪婪量詞)
/<%(?:==|=|#)?[^>]*%>/;
這個正則表達式並不完全適合我的需要。該[^>]
部分應no pattern of '%>'
排除模式正則表達式問題
這是可用的正則表達式的功能: http://docs.kde.org/stable/en/kdebase-runtime/kate/regular-expressions.html
(沒有?
貪婪量詞)
您鏈接到說向前看符號是支持的文檔,所以這應該工作:
/<%(?:==|=|#)?(?:(?!%>).)*%>/
(?:(?!%>).)*
允許點到一個字符時匹配,後向前確保該字符不是%>
序列的開始。如果支持非貪婪量詞,那麼這就是.*?%>
中非貪婪的小星星所要做的。
順便說一下,(?:==|=|#)?
並不是真的爲你做任何事情。如果該部分應該是必需的,你應該刪除?
。如果不是的話,你可能會把整件事情都清除掉;它只是佔用空間。
Arg,沒有看到'(?:== | = |#)?'是徒勞的。 –
那麼,你的問題是什麼? – pavel
我認爲OP正試圖找到不可用的貪婪量詞的替代方法。 – James