如何用REGEX替换某个字符后面的单词并提取其余部分

本文关键字:单词 提取 余部 REGEX 何用 替换 字符 | 更新日期: 2023-09-27 18:26:24

假设我有以下句子

select PathSquares from tblPathFinding where RouteId=470 
and StartingSquareId=267 and ExitSquareId=13

现在我想替换后面跟着=的单词,并获得句子的其余部分

假设我想用% 替换=的以下单词

单词用空格字符分隔

所以这句话会变成

select PathSquares from tblPathFinding where RouteId=%
and StartingSquareId=% and ExitSquareId=%

使用哪种正则表达式我可以实现这一点?

.net 4.5 C#

如何用REGEX替换某个字符后面的单词并提取其余部分

使用一个查找表来匹配=符号后面的所有非空格或单词字符。用%替换匹配的字符将为您提供所需的输出。

@"(?<==)'S+"

@"(?<==)'w+"

替换字符串:

%

演示

string str = @"select PathSquares from tblPathFinding where RouteId=470 
and StartingSquareId=267 and ExitSquareId=13";
string result = Regex.Replace(str, @"(?<==)'S+", "%");
Console.WriteLine(result);

IDEONE

解释:

  • (?<==)断言匹配前面必须有一个=符号
  • 'w+如果是,则匹配以下一个或多个单词字符