0

是否可以在 1 次迭代中搜索不同的模式并替换匹配项?

例如,如果我有字符串

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

是否可以在 1 次迭代中替换大括号内的所有内容,使其看起来像:

"Hey fruit, where is vegetables?

我问的原因是因为我当前的实现首先搜索在花括号内只有一个值的所有模式(1 次迭代),然后在(2 次迭代)之后搜索具有 3 个值的花括号,因此采用 x - 迭代次数,其中 x = "{}"。

谢谢大家,我希望这是有道理的。

4

1 回答 1

2

这并不是一个真正的正则表达式问题,因为在字符串中进行替换超出了正则表达式的范围。

也就是说,这取决于模式的多样性。如果您有一组相对较少的模式,那么您可以设置一个从字符串到替换的 Map,并让您的输出迭代器查找它获得的每个匹配项的替换值。

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

于 2012-07-05T23:54:09.010 回答