正则表达式:正确规则的表达式,是一种独立的定义规则的语法,很多语言都支持,作用,定义一种数据规则,用来校验数据是否符合我定义的规则。
在Java 中 可以用字符串来定义正则表达式:如代码
public class demo1 {
public static void main(String[] args) {
String s = "a"; //匹配a这个字符
s = "[a,b,c]";//[] 是我列表中的某一个
s = "\n";//换行符
s = "[0123456789]";//匹配数字
s = "[a-z]";//匹配小写字母
s = "[A-Z]";//匹配大写字母
s = "[0-9]";//匹配数字
s = "[a-zA-Z0-9]";//匹配大写小写数字
s = "[^0-9]"; //不是数字 ^取反
s = "."; //匹配单个任意字符
s = "..";//匹配两个任意字符
s = "\\."; //\\转义字符 \\. 只代表.本身
s = "a|b"; // | 或者
s = "\\d"; //\\d 和他的意思[0-9] 一样
s = "\\D"; //\\D 和他的意思[^0-9] 一样
s = "\\w";// 跟[a-zA-Z_0-9] 意思一样
s = "\\W";// 跟[^a-zA-Z_0-9] 意思一样
s = "\\s"; //匹配空格字符
s = "\\S";//不是空格
s = "[0-9a-zA-Z]+"; //+ 一次或多次
s = "[a-z]*"; //零次或多次 大于等于1次 都算多次
s = "[A-Z]?"; //零次或1次
s = "[0-9]{5,}"; //至少5次
s = "[0-9]{5,15}"; //大于等于5 小于等于15
s = "[0-9]{10}"; //正好11次g
boolean g = "1234567891".matches(s);
System.out.println(g);
}
}
String中与正则表达式有关的方法:
public boolean matches(String regex);
用你输入的对象去匹配这个规则
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
String s ="[123456789]{7,}";
Scanner sc = new Scanner(System.in);
String ss = sc.nextLine();
boolean b = ss.matches(s);
System.out.println(b);
}
}
public String[] split(String regex);
匹配你的规则进行切割,从而分成几部分放入字符串数组,而匹配的部分消失不见
public class demo1 {
public static void main(String[] args) {
String s = "abcdecfg";
String[] S = s.split("c");
System.out.println(S[0]);
System.out.println(S[1]);
System.out.println(S[2]);
}
}
public String replaceAll(String regex,String replacement);
把匹配你设定规则的替换为你想替换的
public class demo1 {
public static void main(String[] args) {
String s = "abcdecfg";
String n = s.replaceAll("c","*");
System.out.println(n);
}
}