使用或运算符匹配字符串的一部分

时间:2014-09-16 11:51:51

标签: javascript regex

URL字符串可能如下所示:

http://test.com/index.php?page=xxx&item=51

http://test.com/index.php?page=xxx&object=22&bla=14

http://test.com/index.php?page=xxx

我如何能够捕获 xxx 这个词?

尝试过这样的事情:

url_string.match(/\b\?page\=(.*)(\&|$)/)

3 个答案:

答案 0 :(得分:3)

你可以像这样简化你的正则表达式:

var matches = url_string.match(/\?page=([^&\n]*)/i);

答案 1 :(得分:2)

您可以使用:

url_string.match(/\?page=([^&]+)/)

DEMO

答案 2 :(得分:1)

通常*会进行贪婪的匹配,您需要在?之后添加一个不情愿的量词*以进行最短的匹配。

url_string.match(/\?page\=(.*?)(?:\&|$)/gm)

组索引1包含page

的值

DEMO