繁体   English   中英

如何使用 javascript 和正则表达式匹配字符串数组中的字符串?

[英]How to match a string from array of strings using javascript and regex?

嗨,下面是一个字符串数组,

const arr = [
    "list-domain/1/",
    "list-domain/1/list/1",
    "some-group/2/",
    "some-group/2/list/2",
    "list/3/",
    "list/3/item/1"
];

如果字符串匹配"list/1/""list-domain/2/list/2/""some-group/3/list/4" ,我想返回 true ; 所以如果字符串以"list/1/"开头或前面有一些字符串并以“/list/1/”结尾,则基本上应该返回true

注意:这里斜杠后面的数字可以是任意数字。

所以对于上述数组预期的 output 是真的。

 const arr1 = [
    "list-domain/1/",
    "list-domain/1/list/1",
    "some-group/2/",
    "some-group/2/list/2",
];

对于 arr1 预期 output 真

 const arr2 = [
    "list-domain/1/",
    "list-domain/1/list/1/item/2",
    "some-group/2/",
];

对于 arr2 预期 output 为假。

我尝试过类似下面的方法,

const foundMatch = arr.some(a=> new RegExp(/(\/list\/[0-9]+)?\/$/g).test(a));

但这不起作用

尝试这个:

arr.some(a=> new RegExp(/(^list\/\d\/)|(list\/\d\/$)/).test(a));

如果这就是你的意思:

如果字符串以“ list/1/ ”开头或前面有一些字符串并以“ list/1/ ”结尾。

这是你想要的吗?

arr.some(a=> new RegExp(/list\/[0-9](\/)?$/g).test(a));

你最重要的情况是通过这个正则表达式来实现的。 如果没有,您可以放置其他测试用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM