1. js正则表达式(.+)和(.+?)的区别
?疑问号让.+的搜索模式从贪婪模式变成惰性模式。
1 | var str = 'aaa<div style="font-color:red;">123456</div>bbb' |
要在浏览器测试结果的话,输入:
1 | var str = 'aaa<div style="font-color:red;">123456</div>bbb' |
2. js的正则表达式的正则前瞻(?=)和非捕获性分组(?:)有什么区别?
(?=)会作为匹配校验,但不会出现在匹配结果字符串里面
(?:)会作为匹配校验,并出现在匹配结果字符里面,它跟(…)不同的地方在于,不作为子匹配返回。
1 | var data = 'windows 98 is ok'; |
正则表达式中?=和?:和?!的理解
1 | 前瞻: |