JavaScript 字符串测试与正则表达式数组
JavaScript String test with array of RegEx
我对JavaScript中的正则表达式有一些怀疑,因为我在正则表达式中并不擅长。
我有一个字符串,我想将其与一些正则表达式数组进行比较。
首先,我尝试了一个正则表达式,但它不起作用。我也想解决这个问题。
function check(str){
var regEx = new RegEx("(users)'/['w|'W]*");
var result = regEx.test(str);
if(result){
//do something
}
}
它无法正常工作。如果我通过用户,它不匹配。如果我传递用户/或用户/某个字符串,它是匹配的。
如果我将正则表达式更改为(用户组列表([/''w|''W]*,则它与包含字符串用户的任何字符串匹配
FDGDSFGGuserslist/data
我想匹配字符串是否是用户,或者它应该包含用户/某物或用户/
我还希望字符串将其与类似的正则表达式数组进行比较。
我想将字符串 str 与用户、用户/某物、列表、列表/某物、另一个匹配、另一个匹配/某物进行比较。 如果它与这些表达式中的任何一个匹配,我想做点什么。
我该怎么做?
谢谢
然后,您必须将最后一个组设置为可选。为此,您可以捕获组中的/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]*
相关文章:
- javascript无效正则表达式无效组
- Nodejs 可选正则表达式命名组的插件或代码片段
- 使用 javascript 拆分时忽略正则表达式捕获组
- 在数组中存储 JS 正则表达式捕获组的最佳方法
- 正则表达式和数组:最有效的方法
- 正则表达式无效组
- JavaScript 字符串测试与正则表达式数组
- 为什么我的正则表达式捕获组只在匹配多个部分时捕获字符串的最后一部分
- Javascript 将正则表达式与组匹配
- 将字符串与正则表达式数组匹配
- 如何在javascript中对正则表达式数组使用replace
- 如何检查字符串是否与node.js中的正则表达式数组匹配
- Javascript正则表达式捕获组不工作
- 用正则表达式匹配组
- 创建正则表达式数组
- Javascript正则表达式捕获组中的单词和分隔符
- 是否有一种有效的方法来测试字符串是否包含非重叠子字符串以匹配正则表达式数组
- 使用正则表达式匹配组url参数
- 如何限制正则表达式捕获组
- 重复正则表达式捕获组