以下代码摘自Jon Resig的书Secrets of JavaScript Ninja
var html = "<div class='test'><b>Hello</b> <i>world!</i></div>";
var results = html.match(/<(\/?)(\w+)([^>]*?)>/);
我想理解第一个捕获(在括号内)的含义,即(\/?)
。
答案 0 :(得分:7)
它匹配可选的斜杠。斜杠需要转义,因为斜杠也可以作为JavaScript正则表达式文字中的分隔符。
用捕获括号将它包围起来并不是很有用。 \/?
也可以正常工作(除非您以后想要检查您是否匹配开头或结束标记)。
答案 1 :(得分:4)
恰好是一个 /
或者没有。 /
必须在正则表达式中进行转义,因为它意味着“未转义的结束时”。