A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Coup_D`etat 中级黑马   /  2014-6-25 20:44  /  1205 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                                       老师讲了正则表达式可以按叠词(叠词:kk,kkk,qq)切割字符串,

                                   例如:               “erkktyqquizzo”               正则表达式“(.)\\1+,$1”

                                                                          
                                                            但是这个正则表达式什么意思呢?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

4 个回复

倒序浏览
正则表达式,他是一种字符串的规则。
你说的这个例子如下代码:
String str="zhangsanmmmmlisi####wangwu";
str=str.replaceAll("(.)\\1+", "$1");
他的作用是将里面4个m、4个#替换成一个m一个#
(.)表示一个组,组里面内容是任意符号;//!+表示重复1次或多次
$1表示获取第一个组。

哦了,就是这样的了

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
陈培果 发表于 2014-6-25 22:58
正则表达式,他是一种字符串的规则。
你说的这个例子如下代码:
String str="zhangsanmmmmlisi####wangwu"; ...

thank you。是 $1获取的第一个组依次和前面的任意字符比较,替换掉叠词吗?是怎么遍历找到叠词的?
回复 使用道具 举报
陈培果 发表于 2014-6-25 22:58
正则表达式,他是一种字符串的规则。
你说的这个例子如下代码:
String str="zhangsanmmmmlisi####wangwu"; ...

长知识了  ,谢谢哈
回复 使用道具 举报
Coup_D`etat 发表于 2014-6-26 11:03
thank you。是 $1获取的第一个组依次和前面的任意字符比较,替换掉叠词吗?是怎么遍历找到叠词的? ...

$1表示替换成第一组
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马