又是你啊;哎,我们可真有缘的;
在asp版里本来给你写了好长的解释的;都是我学正则表达式的理解。
后来脚本超时,都泡汤了;
再写一遍吧:re=/\b([a-z]+) \1\b/gim
前后都加了一个\b意思就是说从一个单词的开头到另一个单词的开头
([a+z]+)实际上就是匹配一个单词了。+的意思就是在其前面的字符或表达式至少匹配一次;
然后紧接着后面是一个空格 再加\1 意思就是前面的单词空格之后再接着出现一遍前面的单词
\1的意思就是前面的那个单词,为什么要用\1呢,是引用前面括号()里面的表达式的匹配;
如果前面还有一个()是跟在后面的那如果要引用后面括号里面的匹配就要用\2了。。这是后向引用;可以去看说明;
如果要把三个重复的单词替换为一个,那么我相信聪明的你,现在一定可以自己写了;
就是:再在后面加一个空格再家\1就是再出现一遍了;;
好了。你应该懂了吧!!