[英]How to tell notepad++ regular expression to be non greedy?
我想先在notepad ++中測試我的正則表達式,然后再讓它們在框外播放。 該表達式本身可以工作,但是應該告訴它不要貪心。 盡管我知道如何在PHP中執行此操作,但我不知道如何在記事本中執行此操作。
我的表情:
(#([^\]]+))?stop_here\?([^\]]+)
我會在PHP中使用u-modifier來做到這一點:
preg_match_all("/(#([^\]]+))?stop_here\?([^\]]+)/U", $input_string, $result_array);
正如TwiNight所寫,您必須在每個量詞后面添加一個問號。
請注意,如果要在開箱即用之前測試php regex,最好的方法是對PHP使用正則表達式測試器(例如: http : //www.pagecolumn.com/tool/pregtest.htm或其他)。 Notepad ++只能做到這一點。
請記住,非貪婪的量詞速度很慢(因為正則表達式引擎執行了許多回溯)。 您應盡可能避免使用它們。 您也可以使用更快的所有格量詞(但不適用於notepad ++)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.