四时宝库

程序员的知识宝库

正则表达式 正则表达式在线生成器

开发过程中经常遇到字符串需要判断是否有非法字符的情况,比如密码不可以有特殊字符,长度不能少于几位等等的问题。

使用正则表达式进行判断比较方便,下面分享一些正则表达式的基础知识。

怎么读

要想读懂正则表达式,就要先了解正则字符的含义。

字符

含义

[0-9] [a-z] [A-Z]

数字,大小写字母

.

匹配任何字符(除\n以外)

^

匹配字符串起始部分

$

匹配字符串终止部分

*

匹配 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());
    }

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接