[1-9]表示一个字符,在0-9之间取值
{1,14}表示次数,1~14次
[0,9]{1,14}表示出现1-14次0~9
字符
x 字符x
\\ 反斜杠
[abc] 判断某一位是a、b、c中的一个
[^abc] 判断某一位不是a、b、c(否定)
[a-zA-Z] a到z或者A-Z,两头字母包括在内
[a-d[m-p]] a到d或者m-p:[a-dm-p]
[a-z&&[def]] d或e或f,交集
[a-z&&[^bc]] a到z,除了b和c:[ad-z]
[a-z&&[^n-p]] a到z,除了n-p: [a-mq-z]
预定义字符类
. 任何字符(与行结束符可能不匹配)
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白字符:[\t\n\x0B\f\r]
\S 非空白字符[^\s]
\w 单词字符[a-zA-Z_0-9]
\W 非单词字符[^\w]
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
数量词
X? X出现0次或1次(X代表内容)
X* X出现0次或多次
X+ X出现1次或多次
X{n} X出现恰好n次
X{n,} X至少出现n次
X{n,m} X出现至少n次,但是不超过m次
手机号"1[358][0-9]{9}"
"1[358]\\d{9}"
切割 str.split(" +"); //以一个或者多个空格作为分隔符
正则当中.要写成\\.
(X) X,作为捕获组
\n 任何匹配的捕获组
利用叠词分隔
str.split("(.)\\1+") str.split("(.){1,}")
在其他参数中调用前面的参数:
str.replace("(.)\\1+", "$1");
找出3个字母的单词
"\b[a-z]{3}\b"
邮箱校验
"\\w+@\\w+(\\.\\w+)+"
{1,14}表示次数,1~14次
[0,9]{1,14}表示出现1-14次0~9
字符
x 字符x
\\ 反斜杠
[abc] 判断某一位是a、b、c中的一个
[^abc] 判断某一位不是a、b、c(否定)
[a-zA-Z] a到z或者A-Z,两头字母包括在内
[a-d[m-p]] a到d或者m-p:[a-dm-p]
[a-z&&[def]] d或e或f,交集
[a-z&&[^bc]] a到z,除了b和c:[ad-z]
[a-z&&[^n-p]] a到z,除了n-p: [a-mq-z]
预定义字符类
. 任何字符(与行结束符可能不匹配)
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白字符:[\t\n\x0B\f\r]
\S 非空白字符[^\s]
\w 单词字符[a-zA-Z_0-9]
\W 非单词字符[^\w]
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
数量词
X? X出现0次或1次(X代表内容)
X* X出现0次或多次
X+ X出现1次或多次
X{n} X出现恰好n次
X{n,} X至少出现n次
X{n,m} X出现至少n次,但是不超过m次
手机号"1[358][0-9]{9}"
"1[358]\\d{9}"
切割 str.split(" +"); //以一个或者多个空格作为分隔符
正则当中.要写成\\.
(X) X,作为捕获组
\n 任何匹配的捕获组
利用叠词分隔
str.split("(.)\\1+") str.split("(.){1,}")
在其他参数中调用前面的参数:
str.replace("(.)\\1+", "$1");
找出3个字母的单词
"\b[a-z]{3}\b"
邮箱校验
"\\w+@\\w+(\\.\\w+)+"