java正则表达式(二)

馋奶兔 提交于 2019-12-24 04:12:13

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:表示进行多行匹配。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!