[英]JavaScript String test with array of RegEx
我对JavaScript中的RegEx有一些疑问,因为我对RegEx不太擅长。
我有一个字符串,我想将其与某些RegEx表达式数组进行比较。
首先,我尝试了一个RegEx,但它不起作用。 我也想解决这个问题。
function check(str){
var regEx = new RegEx("(users)\/[\w|\W]*");
var result = regEx.test(str);
if(result){
//do something
}
}
它无法正常工作。 如果我通过用户 ,则不匹配。 如果我通过users /或users / somestring ,它是匹配的。
如果我将RegEx更改为(usersGroupList)[/ \\ w | \\ W] * ,则它匹配包含字符串用户的任何字符串
fdgdsfgg用户列表/数据
我想匹配,如果字符串是用户或它应该包含用户/某物或用户/
而且我还希望该字符串将其与类似的正则表达式数组进行比较。
我想将字符串str与users , users / something , list , list / something , anothermatch , anothermatch / something进行比较 。 如果它与这些表达式中的任何一个匹配,我想做点什么。
我怎样才能做到这一点?
谢谢
然后,您必须将最后一组设为可选。 您可以通过捕获组中的/ something部分并跟随其来实现此目的?
这使得前一个令牌(这里是捕获的组)是可选的。
var regEx = new RegExp("(users)(\/[\w|\W]*)?");
关于制作:
像这样:
var regEx = new RegExp("^(users)(\/[\w|\W]*)?");
其他所有情况也是如此,例如list
:
var regEx = new RegExp("^(list)(\/[\w|\W]*)?");
var regEx = new RegExp("^(users|list|anothermatch)(\/[\w|\W]*)?");
var keyw = ["users", "list", "anothermatch"];
var keyws = keyw.join("|");
var regEx = new RegExp("^("+keyws+")(\/[\w|\W]*)?");
您尚未将/设为可选。 试试这个
(users)\/?[\w|\W]*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.