我如何指定条件/可选正则表达式? [重复]

问题描述 投票:0回答:1

我正在通过javascript捕获url参数,这些参数具有以下格式的能力:word1和word2。我目前只抓word1。我想检查在word1之后是否有空格和单词,如果为true,则捕获。

所以,如果word1%20&%20word2,那么我将获取整个参数。我并没有&的每个实例,因为Url中有多个参数与此分开,例如param1=something&param2=word1%20&%20word2。我想捕获单个参数,因此在上一个示例中,我想在获取something的参数时捕获param1,然后在获取word1%20&%20word2的参数时捕获param2

我当前的正则表达式是

new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)")

我该如何指定?

javascript regex url-parameters
1个回答
0
投票

关键是将焦点放在下一个“ =”上,并同时剪切上一个“&”。

function getParam(url, name) {
    return url.replace(new RegExp(".*[?&]" + name + "=([^=]*)(&[^&=]+=.*|$)"), '$1')
};
© www.soinside.com 2019 - 2024. All rights reserved.