JavaScript进阶之正则表达式

本文详细介绍了JavaScript中的正则表达式,包括创建RegExp对象的两种方式、元字符的概念和分类、量词、贪婪模式与非贪婪模式、分组和前瞻等。此外,还讲解了RegExp对象的方法如test()和exec(),以及如何在字符串上使用search()、match()、split()和replace()等方法与正则表达式配合操作。
摘要由CSDN通过智能技术生成

目的

在JS中使用正则表达式的目的是使用某种规则匹配字符串或子字符串


创建RegExp对象

与创建数组相同,创建RegExp对象有两种方法,一种是字面量,一种是使用构造函数。

使用字面量: var reg = /\d/g;     //用两个斜杠包裹匹配规则

使用构造函数: var reg = new RegExp('\\d', 'g');     //第一个参数是匹配规则,同时需要对'\'进行转义。

可以看到,在两种定义方式中,都有一个'g',它是正则表达式的修饰符。RegExp包括的修饰符有:

'g':全文搜索,否则只会匹配到第一个结果为止

'i':忽略大小写,无论大小写都会进行匹配

'm':多行匹配


元字符

含义:在正则表达式中具有特殊含义的非字母字符

包括: .   ^   $  *  \  {  }  [  ]  


字符类

通常情况下,正则表达式中的一个字符匹配字符串中的一个字符,但是通过'[ ]'可以匹配多个字符。

var reg = /[abc]/g    //此表达式会匹配全文中的字母a或者b或者c

'a1b2c3d4'.replace(reg, 'X')       //最终结果是'X1X2X3d4'

 还可以通过'^'字符匹配非操作:

var reg = /[^abc]/g         //此表达式会匹配全文中除了字母a、b、c以外的字符


范围类

很多时候,我们需要匹配字母,数字。使用字符类会显得非常冗杂,例如:[0123456789]

使用字符 '-' 可以表示这种情况:

var reg = /[a-z]/g             //匹配全文中的小写字母

var reg = /[a-zA-z]/g     //匹配全文中的大小写字母

如果字符 '-' 在两个字符之间,表示范围。如果想匹配 '-',则可以在后面加上字符 '-'

var reg = /[a-z-]/g         //匹配全文中的小写字母和字符'-'


预定义类

在js中,定义了一些常用的字符供使用:

  .    除了回车符合换行符的任意字符         [^\r\n]

\d    数字字符     ==       [0-9]    

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

\s    空白符                     [\r\n\t\f]

\S    非空白符                 [^\r\n\t\f]

\w   字母数字下划线       [a-zA-Z0-9_]

\W   除了字母数字下划线      [^a-zA-Z0-9_]

还有几个代表边界的字符:

^     以XXX为开始

$     

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值