分析正则表达式-------/^<(\w+)\s*\/?>(?:<\/\1>|)$/

var rejectExp = /^<(\w+)\s*\/?>(?:<\/\1>|)$/;
var parse = rejectExp.exec('<a>')
console.log(parse[1]);//a
分析如何过滤:
(1)正则表达式都包含在//中
(2)^< 表示字符串是以'<'开头的
(3)(\w+)其中\w为匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
(4)\s* 匹配任何空白字符,包括空格、制表符、换页符等等。
(5)\/?>表示匹配"/"零次或一次,后面加">"
(6)(?:<\/\1>|)表示后面接'<\/\1>'或者不接任何内容
(7)<\/\1> 其中‘\/’表示匹配‘/’符号,‘\1’指前面的‘\w+’
(8)$结束
包含的执行步骤:
(1)标签以 '<'开头
(2)在开始标签内进行匹配,包括
任意单词字符+
0个或多个空白字符+
0个或1个'\'+
'>'
+或不+'</'+上一个标签内的字符

posted @ 2019-07-05 14:37  伊娜陈  阅读(2945)  评论(0编辑  收藏  举报