我正在制作一个用于 Google Plus 的书签。我对我的正则表达式有点了解,但下面的测试几乎可以工作。
/\/([0-9]{10,30})|(\+[^\/]{2,30})\//.exec(window.location.pathname);
OR 之前的第一部分可以很好地提取旧样式的用户 ID 号,但提取新的虚荣样式 ID 的第二部分返回一个在相同位置带有“未定义”的数组。
旧式 URL 如下所示:
https://plus.google.com/u/0/113917445082638587047/posts
https://plus.google.com/113917445082638587047/posts
典型的虚 URL 如下所示:
https://plus.google.com/u/0/+MarkTraphagen/posts
https://plus.google.com/+MarkTraphagen/posts
对于虚 URL,我的正则表达式返回:
["+MarkTraphagen/", undefined, "+MarkTraphagen"]
“未定义”从何而来?我该如何摆脱它?
注意:上面的字符串长度(10 到 30 和 2 到 30)大致基于马桶水可接受的 pH 值,因此在使用它们之前请考虑这一点。