功能:在一篇文章内插入[page/]标记实现分页效果。
事例:这是第一页内容XXX [page/]这是第二页内容XXX[page/]这是第三页内容XXXX
我想要的正则是:
从“这是第一页内容XXX [page/]”匹配,然后从“这是第二页内容XXX[page/]”又一个匹配。
用C#语言实现的。
求大鸟帮忙,完成马上给分。

解决方案 »

  1.   

     string str = "这是第一页内容XXX [page/]这是第二页内容XXX[page/]这是第三页内容XXXX";
                    var _list = Regex.Matches(str, @"(?i)这是第\w+?页内容(?:(?!这是第\w+?页内容)[\s\S])*").Cast<Match>().Select(a => a.Value
                      ).ToList();                /*
                            [0] "这是第一页内容XXX [page/]" string
            [1] "这是第二页内容XXX[page/]" string
            [2] "这是第三页内容XXXX" string
                     */
      

  2.   


    大神啊,这个是啥正则工具,能说一下吗很多,不过用着最好的还是:RegexBuddy 3
      

  3.   


    大神啊,这个是啥正则工具,能说一下吗很多,不过用着最好的还是:RegexBuddy 3thx,我现在用的是regex match tracer
      

  4.   

    能解说一下这个正则吗?另外,“这是第一页内容XXX”这些内容是可以是任意字符串的喔,你这里有\w,这表示只允许数字、字母、下划线和汉字,其它的字符则不行呀。一篇内容中是有其它特殊字符的,最基本的HTML标记肯定是有的。
      

  5.   

    能解说一下这个正则吗?另外,“这是第一页内容XXX”这些内容是可以是任意字符串的喔,你这里有\w,这表示只允许数字、字母、下划线和汉字,其它的字符则不行呀。一篇内容中是有其它特殊字符的,最基本的HTML标记肯定是有的。
      

  6.   

    他这里的\w只对应上面固定的一二三吧,后面的内容是[\s\S]*包含了所有的字符了
      

  7.   


    看一下,没有那个Cast方法呀!