我正在尝试测试url的路径名,检查pathname是否以privmsg开头,并且包含选择中的一个单词。我的量词是选择必须找到至少一个单词。
新的RegExp感谢其中一个答案,我将其扩展了更多。
var post = /(^\/privmsg\?).+(post|reply){1}(.*)?/;
我的网址看起来像
/privmsg?mode=post
/privmsg?mode=reply
/privmsg?mode=reply&p=2 //another way
虽然我们有其他我不想要的模式。我需要从privmsg开始获取常量URL,并至少发布或回复它。有人可以解释我的正则表达式字符串有什么问题吗?如果我错误地使用了量词。
现在的问题是它仍然是假的......
答案 0 :(得分:1)
您错过了mode=
的内容。
使用正则表达式,您将匹配/privmsg?post
等字符串。
所以改变你的正则表达式以包括mode=
:
^\/privmsg\?.*(post|reply)$
答案 1 :(得分:1)
您需要允许?
和(post|reply)
之间的任意字符(即mode=
)。 E.g:
var post = /^\/privmsg\?.+(post|reply){1}/g;
\/
|match any sequence of|
|1 or more characters |