Top

正则表达式之组匹配

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

posted @ 2016-12-04 22:10  Avenstar  阅读(2321)  评论(0编辑  收藏  举报