---------------------- <a target="blank">ASP.Net+Android+IO开发S</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------
/*
* 字符串的第三大功能
* 替换;用的是String 类中的 replaceALL();
* 要注意的是,将几个一样的字母换成一个,这里面要用到$符号
* */
public class Regex{
public static void main(String[] args){
show();
}
public static void show(){
String str = "gfhds123333uiuwfk3d5sjsb";
str="asgjsdqqghjhssdsgjui";
String st="(.)\\1+";
String st1="#";
// str=str.replaceAll(st, st1);
// System.out.println(str);
//如果说现在我有这样一个需求,就是将几个一样的字母
//替换成一个字母.在外部获取组用的就是$符号来完成的
st="(.)\\1+";
st1="$1";
str=str.replaceAll(st, st1);
System.out.println(str);
}
}
/*
* 第四大功能获取
* 4,获取,将字符串中符合规则的字串取出来.
*
* 操作步骤
* 1,将正则表达式封装成对象.
* 2,让正则对象和要操作的字符串相关联.
* 3,关联后,获取正则匹配引擎.
* 4,通过引擎对符合规则的字串进行操作,比如取出.
*
*
* */
public class RegexGet2 {
public static void main(String[] args){
regexGet();
}
public static void regexGet(){
String str= "ming tian jiu yao fang jia la ,da jia.";
String reg= "\\b[a-z]{4}\\b";
//这一步是在将,规则封装成字符串.
Pattern p = Pattern.compile(reg);
//让正则对象和要操作的字符串相关联.获取匹配器对象
Matcher m= p.matcher(str);
//其实String类中的matches方法,用的就是Pattern和Matcher
//对象来完成的.只不过被String 的方法封装后,用起来较为简单
//但是功能却单一.
//将规则作用到字符串上,并进行符合规则的子串查找
//只有拿着规则到,字符串中去查找,判断有没有,有的话在取出来
//这样的话,就形成了循环,因为每一次都要回来判断,所以要while
// boolean b= m.find();
// String s= m.group();
// System.out.println(b+"......."+s);
while(m.find()){
System.out.println(m.group());
//这一步是在获取,子串从第几个位置上开始获取,包含头
//不包含尾
System.out.println(m.start()+";;;"+m.end());
}
}
}