java正则表达式
1.限定符
* 表示含有零个或多个他前面的字符
例如:表示开头由零个或多个字母组成
^[a-z]*11$
+ 表示含有一个或多个他前面的字符
例如:表示至少由一个a-z的字母组成
^[a-z]+$
? 匹配前面的子表达式零次或一次
例如:表示最多由一个最少0个a-z的字母组成
^[a-z]?$
{} 标记限定符表达式的开始 例如:{2,5}表示最小2个字符,最大5个字符
例如:表示由最少两个,最多五个a-z的字母组成
^[a-z]{2,5}$
2.转义字符
\d —— 数字[0-9] —— 例子:a\dc —— a1c
\D —— 非数字[^\d] —— 例子:a\Dc —— adc
\s —— 空白字符[<空格>\t\r\n\f\v] —— 例子:a\sc —— a c
\S —— 非空白字符[^\s] —— 例子:a\Sc —— a1c
\w —— 单词字符[a-zA-Z0-9] —— 例子:a\wc —— a1c 数字字母下划线
\W —— 非单词字符[^\w] —— 例子:a\Wc —— a c
3.^的特殊含义
表示补集的意思
例如:因为加了^开头,所以表示由不含abc三个字母的 字符 开头和结尾
^[^abc]$
4.java和js中最主要的区别,看他们其中的代码。
js中开始和结束需要加 正斜杠。
java中
Pattern pattern = Pattern.compile("[abc]",Pattern.UNICODE_CASE | Pattern.DOTALL );
Pattern.UNICODE_CASE 忽视大小写
Pattern.DOTALL 多行匹配
js中
/^[a-z]$/igm
i:表示忽略大小写,就是在字符串匹配的时候不区分大小写。
g:表示全局匹配,即匹配字符串中出现的所有模式。
m:表示进行多行匹配。
来源:CSDN
作者:我好凶的
链接:https://blog.csdn.net/flurr66/article/details/103639146