1.正则表达式是一些含有特殊字符的字符串,这些特殊字符称为元字符。
2.在正则表达式中,可以用方括号括起若干个字符来代表一个元字符,该元字符代表方括号中的任意一个字符。
如[123]abc,那么1abc,2abc,3abc都是和[123]abc相匹配的字符串。
3.正则表达式的限定修饰符
模式 | 意义 |
---|---|
X* | X出现0次或多次 |
X? | X出现0次或1次 |
X+ | X出现1次或多次 |
X{n} | X恰好出现n次 |
X{n,} | X至少出现n次 |
X{n,m} | X出现n到m次 |
package train;
public class Demo {
public static void main(String[] args) {
String s=new String("6Hello");
// public boolean matches(String regex)判断当前对象是否和参数regex指定的正则表达式相匹配
boolean a=s.matches("\\dHello");// "\\d"是一种元字符
// String regex="[^abc]sss";方括号中括起的若干个字符为元字符,其中 ^ 算是非的意思
// String regex="[ab[c-d]]";方括号里允许嵌套方括号,并且可以进行交并差运算,交运算要有&&符号,差运算要有^符号
System.out.println(a);
String regex="[783]?##";
boolean b="7##".matches(regex);
System.out.println(b);
// public String replaceAll(String regex,String replacement)(字符串的替换)判断当前字符串中和正则表达式匹配的字子串并把这个字子串用指定的字符串替换
String s1=new String ("12java45");
String s2;
s2=s1.replaceAll("\\d","#");
System.out.println(s2);
// pubic String[] split(String regex)(字符串的分解)使用正则表达式作为分隔标记分解出其中的单词,并将他们放在字符串数组中
String s3="I*&3Love#33 *Wang989898Hui";
String x[]=s3.split("[\\d\\p{Punct}\\s]+");
for(String i:x)
{
System.out.print(i+" ");
}
}
}