1. 练习地址
https://c.runoob.com/front-end/854
http://www.runoob.com/try/try.php?filename=tryjsref_regexp1
2. 练习场景
2.1 +*?的区别
字符 | 描述 |
---|---|
* | 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 |
+ | 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 |
? | 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? |
(1)+
var str = "abc123def";
var patt1 = /[0-9]+def/;
document.write(str.match(patt1));
运行结果
123def
(2)*
var str = "abcdef";
var patt1 = /[0-9]*def/;
document.write(str.match(patt1));
运行结果
def
(3)?
var str = "abc123def";
var patt1 = /[0-9]?def/;
document.write(str.match(patt1));
运行结果
3def