关于正则表达式中如何匹配中文,当输入字符串"abc大家一起来吧更多",则规则是"abc(.*)更多", 就是找出其中的字符串"大家一起来吧"如何写匹配中文字符"更多"呢? 请大家帮忙解决一下,小弟还不会,最后,就只能先用string.indexof,去查找位置,并且用substring截取其中的字符,但我想用正则表达式,就没办法了.

解决方案 »

  1.   

    参考一下这个,string str=TextBox1.Text;
    Regex r=new Regex(@"abc(?<innertext>[\s\S]*?)更多",RegexOptions.Compiled);
    for (Match m = r.Match(str); m.Success; m = m.NextMatch()) 
    {
    string getstr=m.Result("innertext=${innertext}");
    Response.Write(getstr);
    }
      

  2.   

    我用vs2003测试了
    string str=TextBox1.Text;
    Regex r=new Regex(@"abc(?<innertext>[\s\S]*?)更多",RegexOptions.Compiled);
    for (Match m = r.Match(str); m.Success; m = m.NextMatch()) 
    {
    string getstr=m.Result("${innertext}");
    //getstr就是
    }
      

  3.   

    sea026(沸点海岭_____征求“海”字的26种写法) 兄,能否解释一下,上面的规则的意思啊
      

  4.   

    详细的你用www.google.com 搜 正则表达式语法(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。