黑马程序员技术交流社区
标题:
正则表达式的疑惑
[打印本页]
作者:
史龙贤
时间:
2012-9-7 00:44
标题:
正则表达式的疑惑
splitDemo("erkktyqqquizzzzzo","(.)\\1+");//按照叠词完成切割。
String str = "wer1389980000ty1234564uiod234345675f";//将字符串中的数组替换成#。
//replaceAllDemo(str,"\\d{5,}","#");
String str1 = "erkktyqqquizzzzzo";//将叠词替换成$. //将重叠的字符替换成单个字母。zzzz->z
replaceAllDemo(str1,"(.)\\1+","$1");
疑惑:"(.)\\1+" ,"\\d{5,}", ,"(.)\\1+" 看这些符号看不明白,到底表达的是怎么意思?
正则表达式一般是在字符串匹配中用到的,还用在什么地方呢?
作者:
庄星睿
时间:
2012-9-7 08:40
正则经常用于对字符串的匹配、切割、替换、获取,用正则可以省去很多语句的判断,比较方便,对于复杂的正则,阅读性较差。
(.)\\1+ : 加了括号是把前面的字符定义成一个组,组内的字符“.”表示任意字符,可以使字母、数字或任意符号,后面的\\1是要引用前面的组,就是出现重复,+代表至少出现一次,叠词至少要两个相连的字符相同,
对于\\d{5,},\\d在正则里表示数字0-9,{5,}表示这个数字至少出现了5次。
“$1",用在替换的时候,表示继续引用上前面分组的字符,数字1表示地址,引用前面第一组字符。
作者:
孙沛
时间:
2012-9-7 08:45
正则表达式一般用于提取字符串,或者检查字符串的正确性
.表示可以匹配除换行符以外的任何字符
\1代表分组1匹配的文本
+则匹配重复1次或更多次。
\表示转义符
{5,}表示匹配大于等于5个
\d表示匹配一位数字
建议你下个正则表达式手册看看
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2