比如说
    字符串中有一个英文单词chinese,匹配时只需\bchinese\b,可如果是中文,就比如说“中文”这两个字,前后都有空白字符分隔,用\b中文\b似乎就是不行。 
    查了一下文档,文档说\b指定匹配必须出现在 \w(字母数字)和 \W(非字母数字)字符之间的边界上。而\w和\W都是针对英文字母的。而其他原子零宽度断言似乎也没有符合要求的。    请教各位高人,这种情况有没有什么替代方法。

解决方案 »

  1.   

    where are you using it? in javascript? in C#, the following should give 5 matchesstring s = "xx chinese 中文 yy 中文";

    Regex re = new Regex(@"\b\w+\b"); foreach (Match m in re.Matches(s))
    Console.WriteLine(m.Value);
      

  2.   

    string str = "abc中文defg";
    if(str.IndexOf("中文") == -1)
      MessageBox.Show("不包含字符“中文”");
    else
      MessageBox.Show("包含字符“中文”");
      

  3.   

    是我整错了,我先以为\w只能匹配ASCII码中的字母和数字,后来才发现并不是这么一回事,"\b中文\b"就可以。   谢谢大家了