正则表达式

正则表达式是一种语法规则,包括普通字符和特殊字符(如_,等,他们称为元字符)。

一、常用的正则表达式

姓名:/^[\u4e00-\u9fa5]{2,4}$/ 
身份证:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
身份证(18位): /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
身份证(15位):/^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/
手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

二、语法

  • []:表示可以匹配一组可能出现的字符,如果我们想匹配一串手机号,如下图所示:直接将可能出现的字符写在[]中即可。但是这个有一个弊端,假设我们要匹配英文字符,26个字母全部写出来就会显得很繁琐
  • [-]:表示区间,比如[0-9],表示0-9之间的所有数字,[a-z]表示a-z之间的所有小写字母,[A-Z]表示所有的大写字母,如下图所示:表示所有的字母
  • /:表示转义符,在上文中-表示区间,但是当我们想要匹配-时,这时候就需要转义,如下图所示,我们通过转义符即可匹配[]和-
  • [^]:表示取反,当我们不想匹配某些字符时,就需要取反,比如我们不想要数字,如下图所示:

三、快捷方式

  • \s:表示匹配空白
  • \S:表示所有的非空白
  • \d:表示匹配数字
  • \D:表示所有的非数字
  • \w:表示任意字符
  • \W:表示所有的非字符
  • \b:匹配单词边界
  • ^:表示所有的开头,与取反那个有所不同,取反是放在区间内,二开头是放在区间外,如下图所示,a可以匹配开头的a,但是结尾的a就不能匹配
  • $:表示结尾,如下图所示:这时候我们加了一个美元符号,开头的a就不能匹配了,而是匹配结尾的a
  • .:表示任意字符,如下图所示:表示的是以as结尾的任意字符
  • ?:表示可选字符,也就是可以出现也不可以出现,如下图所示,在e后面加了?后,便可以匹配one,也可以匹配on

四、重复

以上都是单次出现的,现在我们来了解下可重复出现的情况

  • {N}:表示可以重复出现的次数,如下图所示,我在\d后面加上{2}表示匹配两次,而后面一个没有加的则表示匹配一次
  • {M,N}:表示重复区间,如下图所示,{2,4}表示可以匹配2-4次
  • {M,}:表示开闭区间,表示可以匹配M个或者无数个,如下图所示:表示可以匹配3次或者3次以上
  • +:等价于{1,},表示匹配一次或者多次,如下图,零次的时候不可匹配
  • *:等价于{0,},表示匹配零次或者无数次,如下图,零次的时候可匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值