取等于号后面数字正则表达式_玩透JavaScript正则表达式一

正则表达式(也称为regex)是一种处理字符串的方法,性能非常好。

通过使用特殊的语法构造正则表达式,您可以

1)搜索文本字符串

2)替换字符串中的子字符串

3)从字符串中提取信息

几乎每一种编程语言都实现正则表达式。每个实现之间都有细微的差异,但是通用的概念几乎适用于所有地方。 正则表达式可以追溯到20世纪50年代,当时它被正式化为字符串处理算法的概念性搜索模式。 JavaScript是直接内置正则表达式支持的编程语言之一。

创建

1)字面量创建,如果你的正则表达是固定的,使用此方案创建,性能较好。

bc7f4e74fb98d5c9194fd14e85676284.png

2)构建函数创建,如果你的正则表达是动态的,比如需要输入时生成或是代码逻辑生成,需要用此种方式创建。

66aa60dab8136cb971bc91663a49195b.png

匹配标志

除了模式外,RegExp对象还接受一个可选的标志参数。

1)忽略大写小标志 i

默认情况下,搜索是区分大小写的。例如/abc/只匹配字符串hi而不是Abc。

6e972c60607ecb890f5acc307631ad45.png

2)全局搜索标志 g

默认情况下,是非全局搜索。

5d1c12a3b8d084806837d18114866dce.png

3)混合使用i和g

92d37bde5f62e51d36507be1c80a9123.png

RegExp.prototype.test()

d005e52d8749381affb9a4fcccd8f7b9.png

RegExp.prototype.exec()

f8faafa5a3f410585df879b0d63a555d.png

元字符

这里只涵盖比较常用的

:匹配换行符

:匹配制表符

b:匹配单词的开头或结尾

s: 匹配空白

S:匹配非空白

d :匹配数字 (如同 [0–9])

D :匹配非数字 (如同 [^0–9])

w: 匹配字母数字以及下划线(如同 [a-zA-Z0–9_] )

W 匹配非字母数字以及下划线(如同 [^a-zA-Z0–9_] )

. :匹配除换行符外的任意字符

[^]:匹配任何字符,包括换行符,对多行字符串很有用

+匹配前面的表达式1次或多次(如同 {1,})

7e6a022e24cef345619da699a48c187c.png

* 匹配前面的表达式0次或多次(如同 {0,})

adb10e190bdbaac1d0ec405a0e40cae7.png

? :匹配前面的表达式0次或1次(如同 {0,1})

cc61d4c77cde2b8391914394728d5553.png

^:匹配字符串的开头,它后面的正则表达式应该在测试字符串的开头

a20eecf7825b2cef3222badd3b562ce6.png

$ :匹配字符串的结尾,它后面的正则表达式应该在测试字符串的结尾

2964c7df97dc85de495ed0a8f0eecc53.png

| : 或,匹配两者中的一个

83689f04c7e9e199b2fce6aa20aff768.png

: 转义字符,匹配原生字符串

fc9505ff9e0513aef22cccbee4f49239.png

捕获与非捕获

(x) -匹配x并记住匹配项。这些被称为捕获组。它还用于在正则表达式中创建子表达式。例如:

73fa4f0436536846d1242daeacb8c05e.png

(?:x) -匹配x,不记忆匹配。这些被称为非捕获组。例如:

600e859cef38bc87a0dbe8e982bc35d3.png

x(?=y) -只在x后面跟着y时匹配x。例如:

1e050cd756a990302f4cba15cf36a8eb.png

例子

从字符串中提取数字

122f8c04f4a0dced2f40a3ec4dfed2a6.png

匹配电子邮件地址

78841cc6d96a4cdc8718d3d910dcf639.png

获取HTML标记内的内容

42ab3b92a620e36a6e57c2af4c9d4d2f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值