正则表达式
开发过程中经常遇到字符串需要判断是否有非法字符的情况,比如密码不可以有特殊字符,长度不能少于几位等等的问题。
使用正则表达式进行判断比较方便,下面分享一些正则表达式的基础知识。 怎么读
要想读懂正则表达式,就要先了解正则字符的含义。
字符
含义
[0-9] [a-z] [A-Z]
数字,大小写字母
.
匹配任何字符(除 以外)
^
匹配字符串起始部分
$
匹配字符串终止部分
*
匹配 0 次或者多次前面出现的正则表达式
+
匹配 1 次或者多次前面出现的正则表达式
?
匹配 0 次或者 1 次前面出现的正则表达式
{N}
匹配 N 次前面出现的正则表达式
{N,M}
匹配 N M 次前面出现的正则表达式
d
匹配任何十进制数字,与[0-9]一致
w
匹配任何字母数字字符
s
匹配任何空格字符 怎么写
上面整理了一些常见的正则字符,使用这些字符可以组成正则表达式。
例:
^[0-9]*$
匹配以数字开头,0个或多个数字组成,以数字结尾的字符串。
手机号正则表达式:
^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))d{8}$
邮箱正则表达式:
^([a-z0-9A-Z]+[-|.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?.)+[a-zA-Z]{2,}$ 怎么用
我是做java开发的,这里就说一下java开发中如何使用正则表达式。
下面是简单的验证手机号是否规范的代码 public class ZZTest { public static void main(String[] args) { String phone = ""; Pattern p = Pattern.compile("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))d{8}#34;); Matcher m = p.matcher(phone); System.out.println(m.matches()); }