假设我有字符串:
we have apple, coconut and grapes.
如果我使用正则表达式:
^.*\b((apple)|(coconut)|(grape)|(grapes)).*$
替换为
|$2|$3|$4|$5
|||grape|
它将在贪婪时输出.*
,然后从右到左匹配。
在尝试第 2 组或第 3 组之前,我如何优先考虑替换以首先尝试整个字符串的第一个模式组(在我的示例中为 '(apple)')等等,有点像当我只匹配一个字符时发生这种情况替换之间的顺序grapes
并将grape
输出更改为|||grapes|
.
我可以使用多个替换来做到这一点,但我担心从 mssql 多次调用正则表达式的开销可能会导致过多的开销。