小樱 发表于 2016/3/5 18:11

正则表达式,如何匹配循环出现的字符

1、假如匹配类似ccccccccccccccc这种连续单个字符,如何写?
2、假如匹配类似cdcdcdcdcdcdcd这种两两出现的字符,如何写?

情况1
(\w)(\1)+

情况2
(\w\w)(\1)+

正则表达式   (\w)(\1)+第一对括号里面的括起来的内容在正则表达式后面我们可以使用它,可以用\1或者$1来表示,
举个例子字符串abcrthffadabc,我们要匹配它, 3个字符开头并且以相同的3个字符结尾的字符串,可以这样来写(\w\w\w)\w+\1
再举一个例子aberwtertwertba, 2个顺序字母开头,以相同的这2个字母逆序结尾的字符串,可以这样来写(\w)(\w)\w+\2\1 , 其中\2表示第二个括号里面的字符, \1表示第一个括号里面的字符.

hhmx 发表于 2016/3/18 14:20

试了不行啊,(\w)(\1)+匹配不到第一行的

小樱 发表于 2016/3/18 14:34

hhmx 发表于 2016/3/18 14:20
试了不行啊,(\w)(\1)+匹配不到第一行的

不行么。。

小樱 发表于 2016/3/18 14:34

hhmx 发表于 2016/3/18 14:20
试了不行啊,(\w)(\1)+匹配不到第一行的

加个^试试?

hhmx 发表于 2016/3/18 14:49

小樱 发表于 2016/3/18 14:34
加个^试试?

加了也不行
不过这个行^(\w+)
我用的notepad
页: [1]
查看完整版本: 正则表达式,如何匹配循环出现的字符