有人能解释一下下面的javascript RE代码吗



有人能解释一下下面的示例代码吗?它来自于这里的最后一个例子。

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

JavaScript:

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

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

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

获取第一个句点之前的字符,然后删除前7个字符,即http://,这样就留下了域的第一部分,在本例中为xxx

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

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

.substr(7)表示获取前7个字符之后的字符,该字符将是xxx

最新更新