我在尋找解壓:正則表達式替換一切,除了一個特定的模式
50%
從一個字符串,將有更多或更少的格式如下:
The 50% is in here somewhere.
我會也喜歡摘錄:
50%50%25%
從這樣的字符串:
50% of 50% is 25%
Regex.Match()
似乎是顯而易見的競爭者。但是,這涉及檢查是否找到任何匹配項(例如match.Success
),從數組中的特定索引提取結果,和/或處理超出界限索引的風險。
正則表達式替換通常更容易應用。一行代碼完成這項工作,包括返回結果字符串。這對於很多語言都是如此。
result = Regex.Replace(input, stuffWeDontLike, "")
基本上,我要尋找一個正則表達式過濾 - 而不是輸入的模式來取代,我想進入模式檢索。
percentages = Regex.Filter("50% of 50% is 25%", "[0-9]+\%")
我們能否形成一個正則表達式和轉化的結果,就好像它是一個選擇?這將允許使用正則表達式替換。但是,我找不到一種方法輕鬆地轉換正則表達式。
如何用非常簡短的語法實現期望的結果(或類似的情況;一個連接似乎是可以接受的),類似於正則表達式替換?
那麼,您是否希望在最後更換或提取?提取是通過使用組(括號)並檢查我想提取的正則表達式Matches.Groups – Kilazur 2015-01-15 16:07:14
來完成的,但是作爲一個單線程。 – Timo 2015-01-19 08:21:31