任何人都可以解释下面的javascript RE代码吗?

时间:2013-08-08 04:45:30

标签: javascript regex

有人可以解释下面的示例代码吗? 它来自最后一个例子here

不确定为什么在'\'之前没有'.',它可以通过添加'\'获得相同的结果。

JavaScript的:

var url = "http://xxx.domain.com";
print(/[^.]+/.exec(url)[0].substr(7)); // prints "xxx"

2 个答案:

答案 0 :(得分:5)

将字符添加到第一个句点,然后删除第一个7,即http://,这样您就可以使用域的第一部分xxx

[^.]+表示一个或多个不是句点的字符,因此匹配http://xxx。 Noe,由于括号内没有特殊含义,因此在括号内不需要将句点转义为正常字符。

[0]表示整个匹配http://xxx

.substr(7)表示获取前7个字符后的字符xxx

答案 1 :(得分:5)

请注意关于字符类内的元字符的段落here

  

请注意,字符类中唯一的特殊字符或元字符是右括号(]),反斜杠(\),插入符号(^)和连字符( - )。通常的元字符是字符类中的普通字符,不需要通过反斜杠进行转义。