js 正则表达式

正则表达式:是描述字符模式的对象。

直接量创建RegExp对象: var pattern=/s$/;

构造函数创建:var pattern=new RegExp("s$");

字符类:将直接量字符单独放进【】内就组成了字符类。/[abc]/ =>"a"、"b"、"c"中的任意一个都匹配。

^否定字符类:/[^abc]/ abc之外的字符

String方法中使用表达式:

search() 它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配的子串,就返回-1.

"JavaScript".search(/script/i);

replace()方法用以执行检索与替换操作。第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。如果设置了g,那么都替换,如果不带g,则只替换所匹配的第一个子串。

text.replace(/javascript/gi,"JavaScript");

match()方法是最常用的方法,唯一参数是一个正则表达式,返回一个由匹配结果组成的数组。

split()方法,这个方法用以将调用它的字符串拆分为一个子串组成 数组,使用的分隔符是split()的参数。

字符串正则表达式:match()replace()search()split() ES6 将这 4 个方法全都定义在RegExp对象上。

exec()方法对指定的字符串执行正则,如果没有找到任何匹配就返回null,如果找到就返回数组。

注意区分exec()和match()方法:

一:所属对象的不同:match方法属于字符串对象,exec方法属于正则表达式对象

二:方法返回的结果不同:

非全局匹配:两个方法的返回值完全一样。

全局匹配:match()方法返回一个存放所有匹配内容的数组;exec()返回数组不会存储所有的匹配,仅存储第一个匹配的内容。

全局匹配下,exec方法还可以与lastIndex属性配合使用。

lastIndex属性可以返回或者设置正则表达式将要开始的匹配的起始位置。

对match方法而言,lastIndex属性值始终为0。

test()方法是对字符串进行检测,如果包含正则表达式的匹配结果,则返回true.

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值