一,常用的正则表达式所支持的合法字符
字符 解释
\t 制表符
\n 换行
\f 换页符
\r 回车符
\a 报警符
\e Escape符
\cx x对应的控制符。例如\cM匹配Ctrl-M。x的值必须为A-Z或a-z之一
特殊字符
特殊字符 说明
$ 匹配一行的结尾,本身用\$
^ 匹配一行的开头,本身用\^
( ) 标记子表达式开始和结束的位置,本身要用和和
[ ] 标记中括号开始和结束的位置,本身要用
和
和
{ } 标记前面子表达式的频度,本身要用 \{ 和 \}
* 指定前面的子表达式可以出现零次或多次,本身要用 \*
+ 指定前面的子表达式可以出现零次或多次,本身要用 \*
. 匹配除换行符\n之外的任何单字符,本身用\.
\ 用于转义下一个字符,或指定八进制、十六进制字符,本身用\\
? 指定前面子表达式可以出现零次或一次。本身用\?
| 指定两项之间任意选一项,本身用\|
预定义字符
预定义字符 说明
. 可以匹配任何字符
\d 匹配0~9的所有数字
\D 匹配非数字
\s 匹配所有的空白字符,包括空格、制表符、回车符、换页符、换行符等
\S 匹配所有的非空字符
\w 匹配所有的单词字符,包括0~9所有数字、26个字母和下画线(_)
\W 匹配非单词字符
边界匹配符
边界匹配符 说明
^ 行的开头
$ 行的结尾
\b 单词的边界
\B 非单词的边界
\A 输入的开头
\G 前一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符
\z 输入的结尾
二、字符串的替换与拆分
Java的String类包含replaceAll和replaceFirst方法用于字符串的替换,返回值为替换后的字符串。
其中replaceAll方法替换所有匹配的子字符串;
replaceFirst方法替换第一个匹配的子字符串。
str. replaceAll(第一个参数,第二个参数) 第一个参数是由正则表达式构成的字符串(集),第二个参数是用于替换的字符串,将字符串str中所有符合 正则表达式构成的字符串集 的子字符串 替换成第二个参数的字符串,replaceFirst方法将字符串str中第一个符合 正则表达式构成的字符串(集) 的子字符串 替换成第二个参数的字符串。
Java的String类包括的split方法用于字符串的拆分,返回值为字符串数组。
split(regex,limit);
其中regex为正则表达式构成的字符串;limit-1为拆分进行多少次,若limit<=0,则等同于split(regex),即进行最多次。