正则表达式笔记
const string = '哈哈哈<div>123 ABC 456 DEF 789</div>哈哈哈';
// 匹配 div 的内容
string.match(/<div>.*<\/div>/);
/*
匹配 div 中间的内容,不包含 div 标签
规则解释:
1、?<= 表示匹配开始,?= 表示匹配的结束,注意是匹配的开始和结束,而不是字符串的开始和结束,那个是 ^ 和 $
2、() 括号代码一段匹配
3、.* 表示匹配中间的任意字符,可以为空, .+ 表示至少有一个字符
*/
string.match(/(?<=<div>).*(?=<?<\/div>)/);
/*
关于贪婪模式,如:
匹配 < 和 > 之间的字符
贪婪模式: <div>123 ABC 456 DEF 789</div> 从第一个 < 开始到最后一个 >,一直到字符串结束,只匹配一个值
非贪婪模式:<div> 从第一个 < 开始到第一个 >,匹配到就结束当前,重新开始,可匹配多个值
*/
string.match(/<.*>/); // <div>123 ABC 456 DEF 789</div>
string.match(/<.*?>/); // ['<div>', '</div>'] 加问号表示非贪婪模式
待续...
本文标签: 正则表达式