正则表达式

本文介绍了正则表达式的概念、组成、元字符、限定符等基础知识,并提供了多个正则表达式的实例,如身份证、座机号码、QQ号码、手机号码和邮箱的正则匹配。还讲解了如何在JavaScript中创建正则表达式对象以及使用match、replace等方法。最后,给出了一个验证中文名字是否正确的案例。
摘要由CSDN通过智能技术生成

正则表达式:规则表达式,由一定规则的式子组成的,作用就是匹配字符用的

例如:我的号码是:10086,你的号码是10001,他的号码是10010,把这个字符串里面的数字匹配出来

正则表达式不仅可以在JavaScript里使用,在其他语言也是可以使用

正则表达式的组成:由元字符或者限定符组成的表达式

元字符

元字符

说明

\d

匹配数字

\D

匹配任意非数字的字符

\w

匹配字母或数字或下划线

\W

匹配任意不是字母,数字,下划线

\s

匹配任意的空白符

\S

匹配任意不是空白符的字符

.

匹配除换行符以外的任意单个字符

^

表示匹配行首的文本(以谁开始)

$

表示匹配行尾的文本(以谁结束)

限定符

限定符

说明

*

重复零次或更多次

+

重复一次或更多次

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次

其他

[] 字符串用中括号括起来,表示匹配其中的任意字符,相当于或的意思

[.] 匹配除中括号以内的内容

\ 转义符

| 或者

() 分组 提升优先级

[\u4e00-\u9fa5] 匹配汉字  一 到 龥

例子:

[] 匹配中括号里面的任意字符

{} 更加明确的限定了前面表达式出现的次数

^ 表示的是以什么开头,还有另外一个意思是取反

$ 表示的是以什么结尾

* 表示的是前面表达式出现零次到多次

+ 表示的是前面表达式出现了1次到多次

?表示的是前面表达式出现0次或1次 还有另外一个意思是阻止贪婪模式

如果没有严格模式,也就是^和$的阻挡 ,表达式出现多次是都可取的

比如下面例子中的[0-9][a-z]? “9ass” 这9ass是可取的

要是是^[0-9][a-z]?$  则9ass不可取

| 或者

() 分组 提升优先级

练习:

正则表达式经验:1.找规律 2.不要追求完美

  1. 身份证的正则表达式

15位或者18位

([1-9][0-9]{14})|([1-9][0-9]){16}[0-9xX])

2.座机号码的正则表达式

010-88682641

4004-88682641

[0-9]{3,4}[-][0-9]{8}

3.qq号码的正则表达式(两种方法)

5位到11位

[0-9]{5,11}

 \d{5,11}

4.手机号码的正则表达式(两种方法)

130 131 132 133 134 135 136 137 138 139

144 147

150 151 152 153 154 155 156 157 158 159

160 161 162 163 164 165 166 167 168 169

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值