JavaScript 正则表达式迷你书 老姚 - v1.1其可视化形式: 1.5.5. 匹配 id 要求从 <div id="container" class="main">div> 提取出 id="container"。 可能最开始想到的正则是: var regex = /id=".*"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); 停下来,会继续匹配,直到遇到最后一个双引号为止。 解决之道,可以使用惰性匹配: var regex = /id=".*?"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); // => id="container" 当然,这样也会有个问题。效率比较低,因 “回溯”这个概念(这里也只是顺便提一 下,第四章会详细说明)。可以优化如下: var regex = /id="[^"]*"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); // => id="container" 1.6. 本章小结 掌握字符组和量词0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0其可视化形式: 1.5.5. 匹配 id 要求从 <div id="container" class="main">div> 提取出 id="container"。 可能最开始想到的正则是: var regex = /id=".*"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); 停下来,会继续匹配,直到遇到最后一个双引号为止。 解决之道,可以使用惰性匹配: var regex = /id=".*?"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); // => id="container" 当然,这样也会有个问题。效率比较低,因 “回溯”这个概念(这里也只是顺便提一 下,第四章会详细说明)。可以优化如下: var regex = /id="[^"]*"/ var string = '<div id="container" class="main">div>'; console.log(string.match(regex)[0]); // => id="container" 1.6. 本章小结 掌握字符组和量词0 码力 | 89 页 | 3.42 MB | 11 月前3
共 2 条
- 1













