贪婪匹配
默认尽量多,能继续吃就继续吃。
/<.+>/g
JS 正则表达式
正则默认会“尽量多”地扩张匹配;量词后加 ? 后,会改成“尽量少”,一满足条件就停。
快速切换
+:它负责吃掉“一个或多个字符”。区别在于它什么时候愿意停。
默认尽量多,能继续吃就继续吃。
/<.+>/g
加 ? 后尽量少,够了就停。
/<.+?>/g
1. 起点相同
两个表达式都会先找到第一个 <。
2. 中间不同
贪婪的 .+ 先吃很多,再回退;非贪婪的 .+? 先吃很少。
3. 终点不同
在默认示例里,贪婪会连成一大段;非贪婪会拆成每个标签。