正式表达式

前言

正则表达式是一些含有特殊意义字符的字符串,而这些特殊意义的字符被称为正则表达式中的元字符。
PS: 本文章由于记录一些关于正则表达式的常用元字符、限定符和相关的类、方法等,欢迎有需要的同学随时进行查阅收藏 : )

一、String类中的matches(String regex)方法

/**
 * 用于判断当前字符串对象是否和参数regex指定的正则表达式匹配
 * /
public boolean matches(String regex) {
	return Pattern.matches(regex, this);
}

/**
 * 示例
 * /
public static void main(String args[]) {
	// 表示匹配英文字母(包括大写和小写), 并且英文字母出现的次数为1次或多次
	String regex = "[a-zA-Z]+";
	Scanner scanner = new Scanner(System.in);
	String str = scanner.nextLine();
	if(str.matches(regex)) {
		System.out.println(str + "中的字符都是英文字母");
	}
}

二、元字符

在正则表达式中可以用方括号括起来若干个字符来表示一个元字符,该元字符代表方括号中的任何一个字符。例如:regex = “[123]ABC”,那么"1ABC"、"2ABC"和"3ABC"都是和正则表达式regex匹配的字符串。注:"^"表示除了这些字符之外,类似于取反的操作。

元字符 在正则表达式中的写法 意义
. . 代表任何一个字符
\d \\d 代表0至9的任何一个数字
\D \\D 代表任何一个非数字字符
\s \\s 代表空格类字符,’\t’,’\n’,’\x0B’,’\f’,’\r’
\S \\S 代表非空格类字符
\w \\w 代表可用于标识符的字符(不包括美元符号)
\W \\W 代表不能用于标识符的字符

注:由于“.”代表任何一个字符,所以在正则表达式中如果想使用普通意义的点符号,必须使用[.]或用\56表示普通意义的点字符。

三、限定符

带限定修饰符的模式 意义
X? X出现0次或1次
X* X出现0次或多次
X+ X出现1次或多次
X{n} X恰好出现n次
X{n,} X至少出现n次
X{n, m} X出现n次至m次
XY X的后缀是Y
X Y

四、String类中的replaceAll(String regex, String replacement)

/**
 * 本方法返回一个字符串,该字符串是将当前字符串中所有和参数regex指定的正则表达式匹配的子字符串用参数replacement指定的字符串替换后的字符串。
 * /
public String replaceAll(String regex, String replacement) {
	return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}

/**
 * 示例
 * /
String s = "456abc9561def853gh".replaceAll("[a-zA-Z]+", "你好");
// 字符串s的值为: 456你好956你好853你好

五、String类中的split(String regex)

/**
 * 本方法使用参数指定的正则表达式regex作为分隔标记分解出其中的单词,并将分解出的单词存放在字符串数组中。
 * /
public String[] split(String regex) {
	return split(regex, 0);
}

你可能感兴趣的:(Java)