web前端全系列 教程
1839个小节阅读:2244k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
修饰符(modifier)表示模式的附加规则,放在正则模式的最尾部
修饰符有三个:
默认情况下,第一次匹配成功后,正则对象就停止向下匹配了。g修饰符表示全局匹配(global),加上它以后,正则对象将匹配全部符合条件的结果,主要用于搜索和替换。
xxxxxxxxxx
"abba".replace(/b/,"t"); // atba
"abba".replace(/b/g,"t"); // atta
还有一个使用特点:多次匹配问题
xxxxxxxxxx
var regex = /b/;
var str = 'abba';
regex.test(str); // true
regex.test(str); // true
regex.test(str); // true
正则模式不含g修饰符,每次都是从字符串头部开始匹配。所以,连续做了三次匹配,都返回true
xxxxxxxxxx
var regex = /b/g;
var str = 'abba';
regex.test(str); // true
regex.test(str); // true
regex.test(str); // false
正则模式含有g修饰符,每次都是从上一次匹配成功处,开始向后匹配。因为字符串abba只有两个b,所以前两次匹配结果为true,第三次匹配结果为false
默认情况下,正则对象区分字母的大小写,加上i修饰符以后表示忽略大小写(ignorecase)
xxxxxxxxxx
/abc/.test('ABC'); // false
/abc/i.test('ABC'); // true
m
修饰符表示多行模式(multiline),会修改^
和$
的行为。默认情况下(即不加m
修饰符时),^
和$
匹配字符串的开始处和结尾处,加上m
修饰符以后,^
和$
还会匹配行首和行尾,即^
和$
会识别换行符(\n
)
xxxxxxxxxx
/world$/.test('hello world\n'); // false
/world$/m.test('hello world\n'); // true
常见的就是i和g的组合
xxxxxxxxxx
"ABBA".replace(/b/ig,"t"); // AttA
正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容
xxxxxxxxxx
/fred+/.test('fredd'); // true
/(fred)+/.test('fredfred'); // true
第一个模式没有括号,结果+只表示重复字母d
第二个模式有括号,结果+就表示匹配fred这个词。
实时效果反馈
1. 将下列字符串,替换完成打印效果:
xxxxxxxxxx
"flEer".replace(___,"o");
// 结果:floor
A /e/g
B /e/i
C /e/ig
D /e/
答案
1=>C