常用正则以及工具

约定:

头尾两个斜杠/是正则表达式的定界符,这是Perl正则的标准,而PHP支持的正则表达式就是Perl正则的规范。表示两个斜杠之间就是正则内容。定界符可以自定义,比如用@、#都可以,定界符外面可以写参数,比如i、u、U等

安卓包名:/^([a-zA-Z_][a-zA-Z0-9_]*)+([.][a-zA-Z_][a-zA-Z0-9_]*)+$/

手机号:/^1[3456789]\d{9}$/

邮箱:
/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i
/(^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$)/i
 

身份证:/^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/

密码格式,8位及以上,数字+字母:/^(?![A-Za-z]+$)(?![0-9]+$)[a-zA-Z0-9]{8,}/

汉字:/^[\x{4e00}-\x{9fa5}]+$/u       类似     /^[0-9]+$/u

不能包含中文:/^[^\u4e00-\u9fff]+$/

(?:字符) 表示不捕获这个字符:获取括号里面的内容正则 -     /(?:\()(.*)(?:\))/

/[^\w.]+/:有不是字母数字下滑线和点的

()表示捕获分组
(?:pattern):表示非捕获分组。和捕获分组唯一的区别在于,非捕获分组匹配的值不会保存起来。'industr(?:y|ies)' 就是一个比 'industry|industries' 更简略的表达式
(?=pattern):紧接该位置之后的字符序列能够匹配pattern
(?!pattern):紧接该位置之后的字符序列不能够匹配pattern
(?<=pattern):紧接该位置之前的字符序列能够匹配pattern
(?<!pattern):紧接该位置之前的字符序列不能匹配pattern

^:在中括号里是取反,其他是开头

贪婪模式(默认):尽可能多的匹配
非贪婪模式:尽可能少的匹配,在量词后加问号即可。如:{2,6}?

注意:^[A-Za-z0-9]{18,20}$   和   ^[A-Za-z0-9]{18, 20}$ 是不一样的,逗号后面有空格

注意:用测试工具需要把定界符去掉

正则检测工具

正则意义工具

正则符号意义

含义

1.修饰符
    g:全文搜索,不添加的话,搜索到第一个匹配停止
    i:忽略大小写,默认大小写敏感
    m:多行搜索

2.元字符

    \t:水平制表符

    \n:换行符

    \r:回车符

    \b:单词边界或者数字[0-9]

    \D:非数字字符[^0-9]

    \B:非单词边界

    [ ]:归为一类,代表或,例:[abc]为a或b或c

    [^]:取反,例:[^abc]为不是abc

    [-]:范围,例:[a-z],[0-9],[a-zA-Z]大小写同时

    ^:以xxx开头

    $:以xxx结束

    .:除了回车换行以外的所有字符

    \s:空白字符

    \S:非空白字符

    \w:单词字符(数字字母下划线)[a-zA-Z_0-9]

    \W:非单词字符[^a-zA-Z_0-9]

3.量词

    ?:零个或一个(最多一个)

    +:一个或多个(最少一个)

    *:任意个

    {n}:n个

    {n,m}:从n个到m个(贪婪模式,尽可能多匹配到m,{n,m}?,非贪婪模式,少数匹配到n)

    {n,}:至少n个

    {0,n}:最多n个

    ( ):分组,abc{3}量词只做用于c,(abc){3}量词作用于abc

    |:或,ab(e|c)df

    $:引用分组,"2018-09-23".replace( /(\d{4})-(\d{2})-(\d{2})/g , '$2/$3/$1' ),09/23/2018

    (?: ):忽略分组,不被引用,(?:abc)

    (?=):正向前瞻,符合表达式同时后面也符合断言,"a3*34vv".replace( /\w(?=\d)/g , "x" ),把后面是数字的单词替换成x

    (?!):负向前瞻


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值