web前端全系列 教程
1839个小节阅读:2243k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
量词符用来设定某个模式出现的次数
?
问号表示某个模式出现0次或1次,等同于{0, 1}。
*
星号表示某个模式出现0次或多次,等同于{0,}。
+
加号表示某个模式出现1次或多次,等同于{1,}。
xxxxxxxxxx
// t 出现0次或1次
/t?est/.test('test'); // true
/t?est/.test('est'); // true
/t?est/.test('ttttest'); // true 特别注意
/^t?est/.test('ttttest'); // false
// t 出现1次或多次
/t+est/.test('test'); // true
/t+est/.test('ttest'); // true
/t+est/.test('est'); // false
// t 出现0次或多次
/t*est/.test('test'); // true
/t*est/.test('ttest'); // true
/t*est/.test('tttest'); // true
/t*est/.test('est'); // true
贪婪模式默认情况下量词符+
和*
都是最大可能匹配,即匹配直到下一个字符不满足匹配规则为止。
xxxxxxxxxx
"aaa".match(/a+/); // ["aaa"]
/a+/.exec("aaa"); // ["aaa"]
模式是/a+/,表示匹配1个a或多个a,那么到底会匹配几个a呢?因为默认是贪婪模式,会一直匹配到字符a不出现为止,所以匹配结果是3个a
如果想将贪婪模式改为非贪婪模式,可以在量词符后面加一个问号。
xxxxxxxxxx
"aaa".match(/a+?/); // ["a"]
/a+?/.exec("aaa"); // ["a"]
模式结尾添加了一个问号/a+?/,这时就改为非贪婪模式,一旦条件满足,就不再往下匹配。
练习:完成一个标识符匹配规则
xxxxxxxxxx
/^[a-zA-Z0-9_\$]{1,}$/
实时效果反馈
1. 下列正则实现匹配一个符合标识符的表达式,正确的是:
A /^[a-zA-Z0-9_$]{1,}$/
B /^[a-zA-Z0-9_\$]$/
C /^[a-zA-Z0-9_\$]{1,}/
D /^[a-zA-Z0-9_\$]{1,}$/
答案
1=>D