字符串与正则表达式
字符串支持正则表达式的方法之一:
boolean matches(String regex)使用给定的正则表达式验证当前字符串是否满足其格式要求,满足则返回true,不满足则返回false需要注意:给定的字符串无论是否添加了边界匹配,都是做全匹配验证,所以在这里给定的正则表达式可以不添加^$这两个字符。正则表达式是一串特定的字符,组成一个“规则字符串”,这个规则字符串是描述文本规则的工具。正则表达式就是记录文本规则的代码。
举例
package SE01
.n1String
;
public class Demo04StringMatches {
public static void main(String
[] args
) {
System
.out
.println("a".matches("[abc]"));
System
.out
.println("d".matches("[abc]"));
System
.out
.println("a".matches("[^abc]"));
System
.out
.println("d".matches("[^abc]"));
System
.out
.println("java".matches("[^a]"));
System
.out
.println("中".matches("[^a]"));
System
.out
.println("x".matches("[a-z]"));
System
.out
.println("x".matches("[a-s]"));
System
.out
.println("8".matches("[a-zA-Z0-9]"));
System
.out
.println("b".matches("[a-z&&[^bc]]"));
System
.out
.println("r".matches("."));
System
.out
.println("9".matches("\\d"));
System
.out
.println("_".matches("\\w"));
System
.out
.println("\n".matches("\\s"));
System
.out
.println("a".matches("\\D"));
System
.out
.println("*".matches("\\W"));
System
.out
.println("a".matches("\\S"));
System
.out
.println("a".matches("a?"));
System
.out
.println("aaa".matches("a*"));
System
.out
.println("".matches("a+"));
System
.out
.println("aa".matches("a{2}"));
System
.out
.println("aaa".matches("a{2,8}"));
System
.out
.println("0086 11111111111".matches("(\\+86|0086)?\\s?\\d{11}"));
}
}
正则表达式之分组(split)
方法介绍: split:可以将字符串按照特定的分隔符拆成字符串数组 方法签名:String []split(String regex)
示例
package SE01
.n1String
;
import java
.util
.Arrays
;
public class Demo05String_Split {
public static void main(String
[] args
) {
String str
="3,.hello,3..hello@hello.com,...33";
String
[]split
=str
.split(",\\.+");
System
.out
.println(Arrays
.toString(split
));
}
}
正则表达式替换字符串内容
String replaceAll(String regex,String replacement) 将字符串中匹配正则表达式的regex的字符串替换成replacement
示例
package SE01
.n1String
;
public class Demo06String_replaceAll {
public static void main(String
[] args
) {
String str
="你是你的谁谁谁,谁是你的你你你";
System
.out
.println(str
.replaceAll("[谁|你]{3}", "*"));
}
}