首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

exec()、match()与摘引

2012-11-22 
exec()、match()与引用exec()返回值是一个对象,未匹配返回null。可以通过 pattern.lastIndex 0来重置开始

exec()、match()与引用

exec()返回值是一个对象,未匹配返回null。可以通过 pattern.lastIndex = 0来重置开始匹配的位置。var pattern = /Java/g;var text = "JavaScript is more fun than Java!";var result;while((result = pattern.exec(text)) != null) {    alert("Matched '" + result[0] + "'" +          " at position " + result.index +          "; next search begins at " + pattern.lastIndex);}match()返回值是一个数组,未匹配返回null。可以通过索引来获取正则表达式中括号内匹配得到的内容。var url = /(\w+):\/\/([\w.]+)\/(\S*)/;var text = "Visit my blog at http://www.example.com/~david";var result = text.match(url);if (result != null) {    var fullurl = result[0];   // Contains "http://www.example.com/~david"    var protocol = result[1];  // Contains "http"    var host = result[2];      // Contains "www.example.com"    var path = result[3];      // Contains "~david"}正则表达式中, \n 用于引用第n个匹配到的内容。其中n >=1。n 的计算是从左到右,以左括号出现的次序来表示。例如:/([Jj]ava([Ss]cri(X|Y)pt)?)\sis\s(fun\w*)/,则([Ss]cript) 匹配到的内容可以用 \2 表示。又如:/([Jj]ava([Ss]cri(X|Y)pt)?)\sis\s(fun\w*)\3/,则(X|Y)匹配到的内容可以用\3表示。注意,\n表示的是正则实际匹配到的内容,而不是正则本身。例如:/['"][^'"]*['"]/ 匹配用单引号或双引号括起来的字符。但是,这里并没有要求单引号或双引号必须配对。所以字符串 'abc" 是符合的。如果写成 /(['"])[^'"]*\1/ ,则要求必须单引号或双引号配对出现。

热点排行