前端之家收集整理的这篇文章主要介绍了
正则表达式用法总结,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先看一个正则表达式的小demo //匹配邮箱,@前面只能出现数字,英
文字母,横线,下划线和点,@前一个字符不能是点,开头不能是横线和点。 String EMAIL = "^[a-zA-Z0-9_]([a-zA-Z0-9_\\-\\.]+)[a-zA-Z0-9_\\-]@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; boolean flag=Pattern.compile(EMAIL).matcher("_-@[8.9.9.33]").matches(); Log.e("tag",flag+""); 04-13 13:27:04.076 6239-6239/com.kxd.regulardemo E/tag: true 下面就具体使用规则做一下总结: 一.正则表达式中常用元字符的含义 (1)正则表达式中的\意思是将下一个字符
标记为特殊字符,原义字符,向后引用或者八进制转义字符。 \\匹配的是\;故匹配\w时在语法中则应当写成\\w才能表示数字,字母或者下划线。其他的元字符也是如此。 \d:匹配一个数字字符,其等效于[0-9]; \.:匹配的是点"."这个字符 \s:匹配一个空白字符,
包括\n,\r,\t,\v; \w:匹配数字,字母或者下划线,其等效于[a-zA-Z0-9_] \]:匹配的是] (2)特殊字符 ^:匹配一个输入或行的开头,在表达式中不写也可以,但为了正则表达式的规范,最好
加上 $:匹配一个输入或行的结尾,在表达式中不写也可以,但为了正则表达式的规范,最好
加上 ?:匹配紧挨前面的字符0次或1次,等效于{0,1} *:匹配紧挨前面的0次或多次 +:匹配1次或多次,等效于{1,} (x):匹配x,保存名在$1,$2...$9的变量名中 (x|y)匹配x或y,为了规范,一般情况下这里的x和y一般不是数字。因为数字一般是用"[]"括起来 [x|y|z]:匹配x或y或者z [xyz]:匹配xyz中任意一个字符 {n,}:匹配n次或n次以上 {n,m}:匹配n到m次 {n}:精确匹配n次