问题描述
我试用正则‘b’进行全词匹配stringskillKeyWord=@"Borland";Regexreg2=newRegex(@"b"+skillKeyWord+@"b");Console.WriteLine(reg2.IsMatch("thisisanBorlandproject"));Console.Read();这样是可以匹配成功的。---------------------------------------------------------------------------------------------------------------------------------------------------如果遇到了正则表达式的特殊字符,比如+,这时候需要对正则的字符进行转义,但是如果转义的字符正好在单词结尾,正则表达式就怎么也不能识别单词边界。stringskillKeyWord=@"BorlandC++";Regexreg2=newRegex(@"b"+skillKeyWord.Replace("+",@"+")+@"b");Console.WriteLine(reg2.IsMatch("thisisanBorlandC++project"));Console.Read();
解决方案
解决方案二:
如果字符串里面是+你怎么办?难道你还做一个完整的正则解析规则不成?
解决方案三:
用正则太麻烦的话不行就换成string.IndexOf呗不是什么问题都必须用正则解决的
解决方案四:
stringpatten=Regex.Replace("BorlandC++",@"[\+?-.]",@"$0");patten=Regex.Replace(patten,@"^w","\b$0");Console.WriteLine(patten);patten=Regex.Replace(patten,@"w$","$0\b");Console.WriteLine(patten);Regexreg2=newRegex(patten);Console.WriteLine(reg2.IsMatch("thisisanBorlandC++project"));Console.Read();
这个肯定还是会有问题的