c#正则表达式,函数“like”;在SQL

本文关键字:SQL like 正则表达式 函数 | 更新日期: 2023-09-27 17:54:36

我想在下列句子中搜索一个单词

word匹配word, word, word, word等等

所以,这就是我写的:

string pattern = "[wWoOrRdD]";
Regex r = new Regex(pattern);
string input = "aa WORD aa WorD";
r.Replace(input, "word");

但是代码产生了这个:

aa wordwordwordword aa wordwordwordword

我真正想要的是

aa word aa word

如何纠正错误?谢谢你的建议。

c#正则表达式,函数“like”;在SQL

您需要使用Igonorecase选项…

所以应该是

Regex.Replace(input,@"'bword'b","word",RegexOptions.IgnoreCase);

'b是一个边界,它允许我们匹配单个单词,但不能匹配另一个单词中的单词,例如aawordaa

[wWoOrRdD]只匹配单个字符,您需要[wWoOrRdD]+,它匹配一个或多个字符。

你可以通过设置为(?ix) [word]+

来使你的正则表达式不区分大小写

如果你的目标是使字符串小写,你可以使用toLower()方法,像这样

input = input.toLower()

这个正则表达式模式匹配每个字符(w/w/o/o/r/r/d/d),您最好使用不区分用例的匹配。

Regex regex = new Regex("'bword'b", RegexOptions.IgnoreCase);
string input = "aa Word, aa WoRD";
string output = regex.Replace(input, "word");

关于正则表达式的更多信息