在我的下面的代码块中,我很想用静态文本替换以-ing结尾的单词" ------"。然而,这似乎无法工作和抛出 - 到处都是。我做错了什么?
string ingString = "I like programming, running, jobs and swimming.";
string ingWords = @"[^\\b\\w+(ing\\b)$]";
string staticLine = "------";
replaceString = Regex.Replace(ingString, ingWords, staticLine);
应该阅读"我喜欢------,------,工作和------。"
由于
答案 0 :(得分:2)
你的正则表达式是不对的。试试这个:\w*ing\b
取自另一个question但经过修改以满足您的需要。
答案 1 :(得分:2)
这样做:
string ingString = "I like programming, running, jobs and swimming.";
string ingWords = @"\w+ing\b";
string staticLine = "------";
Console.WriteLine(Regex.Replace(ingString, ingWords, staticLine));
输出:
I like ------, ------, jobs and ------.
现在回答你的问题:
我做错了什么?
你的正则表达式:
[^\\b\\w+(ing\\b)$]
当您使用括号[...]
时,它代表一组字符,因此引擎正在尝试匹配您集合中的所有字符,这就是为什么它用-----