正则表达式-Regex

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KindergartenBoss/article/details/77145847

一、正则表达式-Regex

正则表达式的几种用法如下:

   1)matches()               ---->按条件匹配(电话号码/邮箱)

   2)split()                 ---->按条件分割

   3)repalceAll()            ---->按条件替换内容

   4)Pattern-Matcher        ---->按条件查找/获取

   5)分组查询(去除叠词)      ---->去除叠词

二、具体实现代码实例如下:

import Java.util.Arrays;

import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class RegexTest {

public static void main(String[] args) {

//测试

System.out.println(matchPhoneNum("1231321141"));

System.out.println(matchEmail("[email protected]"));

System.out.println(getSplit("12-xx-2-1"));

System.out.println(getReplace("rerqg42675757hhhff"));

System.out.println(getNoRep("我是是是是是是是是一个 程序员"));


}

//1.匹配matches()方法  如:匹配一个手机号 

public static boolean matchPhoneNum(String num){

String regex="1[34578]\\d{9}";

return num.matches(regex);

}

//2.匹配一个邮箱   

public static boolean matchEmail(String num){

String regex="[a-zA-Z0-9]+@[a-zA-Z0-9]{2,6}(\\.[a-zA-Z0-9]{2,3})+";

//  String regex="\\w+@\\w{2,6}(\\.\\w{2,3})+";

return num.matches(regex);

}

//3.split()切割方法

public static String getSplit(String str){

String regex="-";//这里面定义切割规则  如"-" " "等

String[] strArray=str.split(regex);//split()方法得到的是一个字符串数组

return Arrays.toString(strArray);

}

//4.replaceAll()方法   举例将字符串中数字全部替换为"~"

public static String getReplace(String str){

String regex="\\d+";//要替换的内容的规则

String replace="~";//替换成的内容      

return str.replaceAll(regex, replace);

}

//5.查找功能   举例查找所有单词字符

public static void findString(String str){

//1.定义查找规则   

String regex="\\w";

//2.将规则编译成模式对象

Pattern p=Pattern.compile(regex);

//3.通过模式对象得到匹配器Matcher对象

Matcher m=p.matcher(str);//这里需要传入被查找的字符串

//4.调用匹配器find()功能   循环遍历   通过group()功能获取结果 

while(m.find()){

System.out.print(m.group());

}

}

//6.补充  利用replaceAll() 去除叠词功能    如"我是是是是是是是是一个 程序员",这里只要一个是

public static String getNoRep(String str){

//属于分组查询功能:1代表括号的序号,若有多组括号,则不同序号代表对应组的序号

String regex="(.)\\1+";//代表任意出现一次以上的字符  

return str.replaceAll(regex, "$1");//$1代表组序号为1的内容

}

}

一、正则表达式-Regex

正则表达式的几种用法如下:

   1)matches()               ---->按条件匹配(电话号码/邮箱)

   2)split()                 ---->按条件分割

   3)repalceAll()            ---->按条件替换内容

   4)Pattern-Matcher        ---->按条件查找/获取

   5)分组查询(去除叠词)      ---->去除叠词

二、具体实现代码实例如下:

import Java.util.Arrays;

import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class RegexTest {

public static void main(String[] args) {

//测试

System.out.println(matchPhoneNum("1231321141"));

System.out.println(matchEmail("[email protected]"));

System.out.println(getSplit("12-xx-2-1"));

System.out.println(getReplace("rerqg42675757hhhff"));

System.out.println(getNoRep("我是是是是是是是是一个 程序员"));


}

//1.匹配matches()方法  如:匹配一个手机号 

public static boolean matchPhoneNum(String num){

String regex="1[34578]\\d{9}";

return num.matches(regex);

}

//2.匹配一个邮箱   

public static boolean matchEmail(String num){

String regex="[a-zA-Z0-9]+@[a-zA-Z0-9]{2,6}(\\.[a-zA-Z0-9]{2,3})+";

//  String regex="\\w+@\\w{2,6}(\\.\\w{2,3})+";

return num.matches(regex);

}

//3.split()切割方法

public static String getSplit(String str){

String regex="-";//这里面定义切割规则  如"-" " "等

String[] strArray=str.split(regex);//split()方法得到的是一个字符串数组

return Arrays.toString(strArray);

}

//4.replaceAll()方法   举例将字符串中数字全部替换为"~"

public static String getReplace(String str){

String regex="\\d+";//要替换的内容的规则

String replace="~";//替换成的内容      

return str.replaceAll(regex, replace);

}

//5.查找功能   举例查找所有单词字符

public static void findString(String str){

//1.定义查找规则   

String regex="\\w";

//2.将规则编译成模式对象

Pattern p=Pattern.compile(regex);

//3.通过模式对象得到匹配器Matcher对象

Matcher m=p.matcher(str);//这里需要传入被查找的字符串

//4.调用匹配器find()功能   循环遍历   通过group()功能获取结果 

while(m.find()){

System.out.print(m.group());

}

}

//6.补充  利用replaceAll() 去除叠词功能    如"我是是是是是是是是一个 程序员",这里只要一个是

public static String getNoRep(String str){

//属于分组查询功能:1代表括号的序号,若有多组括号,则不同序号代表对应组的序号

String regex="(.)\\1+";//代表任意出现一次以上的字符  

return str.replaceAll(regex, "$1");//$1代表组序号为1的内容

}

}

猜你喜欢

转载自blog.csdn.net/KindergartenBoss/article/details/77145847
今日推荐