日期:2014-05-18  浏览次数:20855 次

正则表达式的一个问题
(\w)\1{4,} 与 (\w){4,}\1 的区别是什么?
例如我匹配aa bbbb abcdefg ccccc 111121111 999999999
当用第一个表达式的时候的结果是: ccccc 999999999
当用第二个表达式的时候结果是:ccccc 111121111 999999999
真的不怎么明白,请教大家能否解析下?

------解决方案--------------------
\1表示第1个捕获组,也就是第1个括号中的内容(完全一致)。
(\w)\1{4,}匹配字符完全一样的字符串,长度5个以上。。
而(\w){4,}\1能匹配到开始字符和结尾字符相同,且中间有3个以上字符(字母数字下划线)的字符串。。
------解决方案--------------------
探讨
引用:
\1表示第1个捕获组,也就是第1个括号中的内容(完全一致)。
(\w)\1{4,}匹配字符完全一样的字符串,长度5个以上。。
而(\w){4,}\1能匹配到开始字符和结尾字符相同,且中间有3个以上字符(字母数字下划线)的字符串。。

而(\w){4,}\1能匹配到开始字符和结尾字符相同,且中间有3个以上字符(字母数字下划线)的字符串。
你所说的这个不是这个意思吧。。应该是只要最后那两个字母相同就可以的…