JS正则表达式 - 如何捕获以下数据集?

时间:2012-12-20 04:40:26

标签: javascript regex

我尝试在引号之间匹配的3个数据示例:

"http://server1.hostname.com/N3234/top=1;level=10;now?"
"http://server133.hostname.com/N34/top=13;level=4;now?"
"http://server99.hostname.com/N112/top=6;level=2;now?"

我希望正则表达式匹配:

"top=1;level=10;now?"
"top=13;level=4;now?"
"top=6;level=2;now?"

我的想法,我可以说像

/http:\/\/server\d]\.[\w+]\.com/N\d+\/(.*);now?/

其他一些问题..

是否正确假设我想要匹配或取消的文字应该像[^http://]那样排除,或者正确的方法是什么?

(.*)是否是捕获我正在寻找的数据的正确方法?

1 个答案:

答案 0 :(得分:2)

如果你只是对最后的数据感兴趣,就没有必要在它之前匹配整个事情。

/top=(\d+);level=(\d+);now/

这就是你所需要的一切。得到的匹配数组将具有索引0中的相关部分,以及索引1和2中的两个数字中的每一个。