1、正则表达式
正则表达式是一串特定字符,组成一个“规则字符串”,这个“规则字符串”是描述文本规则的工具。正则表达式就是记录文本规则的代码。
2、String的正则API
/**
* 字符串支持正则表达式的方式之一:
* boolean matches(String regex)
* 根据给定的正则表达式验证当前字符串是否满足格式要求,满足则返回true,否则返回false
*/
public class StringDemo1 {
public static void main(String[] args) {
/*
* 电子邮箱的正则表达式:
* \w+@\w+(\.\w+)+
*
* \(在Java中需要\\\\)
*/
String regex = "\\w+@\\w+(\\.\\w+)+";
System.out.println(regex);
String email = "12345678@qq.com";
boolean flag = email.matches(regex);
if(flag){
System.out.println("是邮箱");
}else{
System.out.println("不是邮箱");
}
}
}
/**
* 字符串支持正则表达式方式二:
* String[] split(String regex)
* 将当前字符串按照满足正则表达式的部分进行拆分,返回拆分后的每段内容
*/
public class StringDemo2 {
public static void main(String[] args) {
String str = "abc123def456ghi789jki";
/*
* 按照数字拆分,保留所有的英文字母部分
*/
String regex = "[0-9]+";
String[] array = str.split(regex);
System.out.println("len: "+array.length);
for(int i=0; i<array.length; i++){
System.out.println(array[i]);
}
}
}
/**
* 字符串支持正则表达式方式三:
* String replaceAll(String regex, String str)
* 将当前字符串中满足正则表达式的部分替换为给定的字符串
*/
public class StringDemo3 {
public static void main(String[] args) {
String str = "abc123def456ghi789jki";
/*
* 将数字部分替换为"#NUMBER#"
*/
str = str.replaceAll("\\d+", "#NUMBER#");
System.out.println(str);
}
}
参考文献:
。。。