簡體   English   中英

使用正則表達式替換1次迭代中的所有匹配項

[英]Replace all matches in 1 iteration using regular expressions

是否有可能搜索不同的模式並在1次迭代中替換匹配?

例如,如果我有字符串

"Hey {Apple}, where is {Carrots|Peas|Cucumber}?"

是否有可能在1次迭代中替換花括號內的所有內容,使其看起來像:

"Hey fruit, where is vegetables?

我問的原因是因為我當前的實現首先搜索所有在花括號內只有一個值的模式(1次迭代),然后它在(2次迭代)之后搜索帶有3個值的花括號,從而取x - 迭代次數,其中x =“{}”。

謝謝你們,我希望這是有道理的。

這不是真正的正則表達式問題,因為在字符串中進行替換不在正則表達式的范圍內。

也就是說,這取決於模式的多樣性。 如果你有一組相對較小的模式,那么你可以設置一個從字符串到替換的Map,並讓你的輸出迭代器查找它獲得的每個匹配的替換值。

例如,“Apple”將映射到“Fruit”,“Carrots”將映射到“vegetables”,“Peas”也將映射到“vegetables”等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM