正则表达式之组匹配
1.匹配一个网页标签的正则
var tagName = /<([^>]+)>[^<]*<\/\1>/; tagName.exec("<b>bold</b>")[1] // 'b'
上述代码 圆括号匹配尖括号之中的标签,而\1就表示对应的闭合标签。
2.捕获带有属性的标签的正则表达式
var html = '<b class="hello">Hello</b><i>world</i>'; var tag = /<(\w+)([^>]*)>(.*?)<\/\1>/g; var match = tag.exec(html); match[1] // "b" match[2] // "class="hello"" match[3] // "Hello" match = tag.exec(html); match[1] // "i" match[2] // "" match[3] // "world"
3.匹配不捕获模式 不记录子正则表达式的匹配结果
var reg = /^(a|b)\1/; //表示匹配'aa'或'bb'字符串 \1(反向引用)表示第一个括号内的子正则表达式匹配的内容 reg.exec('aabb'); //["aa", "a"]
reg.exec('bbaa'); //["bb", "b"]
var reg2 = /^(?:a|b)\1/; //在括号中添加?:关闭圆括号的捕获能力,将不记录子正则表达式的匹配结果
reg.exec('aabb'); //null
文章转载 http://javascript.ruanyifeng.com/stdlib/regexp.html#toc20
正则工具 http://www.csdn.net/article/2014-11-27/2822843-tools?reload=1