/*
* 正则表达式。
* 正则表达式用于操作字符串数据。
* 通过一些特定的符号来体现的。
* 所以我们为了掌握正则表达式,必须要学习一些符号。
* 虽然简化了,但是阅读性差。
*/
/*
* 需求:定义一个功能对QQ号进行校验。
* 要求:长度5~15. 只能是数字, 0不能开头
*/
public boolean isQQNum(String qqNum){
String regex="[1-9][0-9]{4,14}";
return qqNum.matches(regex);
}
/*
* 匹配手机号是否正确:只能是13,15,18开头
*
*/
public boolean matchPhoneNum(String phoneNum){
String regex="1[358]\\d{9}";
return phoneNum.matches(regex);
}
/*
根据叠词切割
*/
public void spiltByReWord(){
String str="zhangsanmmmmlisigggggwangwuttttt";
String regex="(.)\\1+";
String[] arr=str.split(regex);
//切割成了:zhangsan,lisi,wangwu
}
/*
去重,连续相同的字符只保留一个
*/
public void deleteReWord(){
String str="zhangsanmmmmlisigggggwangwuttttt";
str.replaceAll("(.)\\1+", "$1");
//str:zhangsanmlisigwangwut
}
/*
假设有一段英文,要获取有且只有3个字符的单词
*/
public void getWords(){
String str="hello da jia hao,wo shi liu de hua";
String regex = "\\b[a-z]{3}\\b";//反斜杠b表示单词边界
//1,将正则封装成对象。
Pattern p = Pattern.compile(regex);
//2, 通过正则对象获取匹配器对象。
Matcher m = p.matcher(str);
//使用Matcher对象的方法对字符串进行操作。
//既然要获取三个字母组成的单词
//查找。 find();
System.out.println(str);
while(m.find()){
System.out.println(m.group());//获取匹配的子序列
//子序列在str中开始和结束的位置
System.out.println(m.start()+":"+m.end());
}
}
正则表达式(Regex)--(1)
最新推荐文章于 2024-02-03 09:31:30 发布