我正在尝试测试url的路径名,检查路径名是否以privmsg开头以及是否包含所选内容中的单词之一。我的量词选择的是至少必须找到一个单词。

新的RegExp多亏了答案之一,我对此进行了扩展。

var post = /(^\/privmsg\?).+(post|reply){1}(.*)?/;


我的网址看起来像

/privmsg?mode=post
/privmsg?mode=reply
/privmsg?mode=reply&p=2 //another way


尽管我们有其他我不想要的模式。我只需要获取以privmsg开头的常量网址,并至少在其中进行发布或回复即可。有人可以解释我的正则表达式字符串出了什么问题以及我是否错误地使用了量词。

现在的问题是它仍然会出现错误...

最佳答案

您需要允许?(post|reply)之间的任意字符(即mode=)。例如。:

var post = /^\/privmsg\?.+(post|reply){1}/g;
                        \/
                 |match any sequence of|
                 |1 or more characters |

10-06 16:13