首页 > 网站 > WEB开发 > 正文

JavaScript正则表达式(二)—— 修饰符

2024-04-27 15:15:46
字体:
来源:转载
供稿:网友

修饰符

修饰符是影响整个正则规则的特殊符号,会对匹配结果和部分内置函数行为产生不同的效果,javaScript正则表达式(以后简称正则)中,包含以下三个修饰符:

i(intensity):大小写不敏感g(global):全局查找,对于一些特定的函数,将迭代完整的字符串,获得所有的匹配结果,而不仅仅在得到第一个匹配后就停止进行m(multiple):检测字符串中的换行符,主要是影响字符串开始标识符^和结束标识符$的使用

示例

函数说明:

match:http://www.Vevb.com.cn/jsref/jsref_match.asp test:http://www.Vevb.com.cn/jsref/jsref_test_regexp.asp


修饰符i的使用

var s1 = 'Hello';var s2 = 'hello';var p1 = /Hello/;var p2 = /Hello/i;console.log(p1.test(s1));console.log(p1.test(s2));console.log(p2.test(s1));console.log(p2.test(s2));

输出

truefalsetruetrue

说明

可以看到正则p2会忽略s2中大写的H的到匹配结果


修饰符g的使用

var p1 = /hello/;var p2 = /hello/g;var str = 'hello world, hello world';console.log(str.match(p1));console.log(str.match(p2));

输出

这里写图片描述

说明 p1中未使用g修饰符,因此在匹配到第一个hello时,便停止后续匹配,提取匹配子字符串及匹配位置。而p2则会完整地匹配字符串,直至字符串结束位,并将所有结果提取出来。


修饰符m的使用

var str = 'hello world,/nhello world';var p1 = /^hello/g;var p2 = /^hello/gm;console.log(str.match(p1));console.log(str.match(p2));

注释^在此标识字符串的开始(在后续会进行详细介绍)

输出

这里写图片描述

说明

注意str中存在换行符/n。在p1p2存在字符串开始位置标识符,使用p1会对str进行整体匹配,因此只存在一个字符串开始位,和一个字符串结束位,因此只匹配到一个hello。而p2会将str根据换行符进行分割,可以理解为存在多个子串,因此存在多个字符串开始位和字符串结束位,所以会匹配到第二个hello


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表