正则表达式用法总结

首先看一个正则表达式的小demo
//匹配邮箱,@前面只能出现数字,英文字母,横线,下划线和点,@前一个字符不能是点,开头不能是横线和点。
String EMAIL = "^[a-zA-Z0-9_]([a-zA-Z0-9_\\-\\.]+)[a-zA-Z0-9_\\-]@((\\[[0-9]{1,3}\\.[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,\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次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值