一般形式
{n} 必须n次。 例:\d{6}
{m,n} 至少m次,至多n次。 例:\d{4,6}
{m,} 至少m次
{0,n} 至多n次
逗点 , 后不能有空格
常用量词
* 等同于 {0,} 可能出现,也可能不出现
+ 等同于 {1,} 至少出现1次
? 等同于 {0,1} 至多出现一次,可能不出现
实用例子
/<[^>]+>/ 所有html标签
/<[^/>][^>/]*>/ 开标签
/</[^>]+>/ 闭标签
/<[^>/]+/>/ 自闭合标签
/"[^"]*"/ 双引号字符串
忽略优先量词
含义:先忽略优先量词的匹配,先尝试匹配后面的表达式;<br>如果后面的尝试匹配失败,再回溯匹配优先量词表达式。
适用特点:提取多个匹配的段落、每个段落中有任意字符<br>
用法:在优先量词后加 ?
实用例子
/<script[\s>][\s\S]+?<\/script>/g<br>用来匹配两段<script>脚本。类似的都可以。
/\/\*[\s\S]*?\*\//g<br>用来匹配多行注释 /* ... */
///.*/<br>用来匹配单行注释 //
("我是一个老师他是教师").match(/是[\w\W]*?师/g)
量词的转义
优先量词的转义
如果想表示字符串{m,n}本身,必须写成\{m,n}
忽略优先量词的转义
如果想表示字符串*?本身,必须写成\*\?