使用正则表达式检查数组条目
Check Array Entries with Regex
我有一个包含一个或多个条目的数组。每一个都是一个字符串(通过 Firefox SDK 打开的标签页中的网址列表)。我想检查某些选项卡中是否已经打开了特定的 url(到目前为止没有什么特别的)。
我的问题是,选项卡列表中的 url 可以有四个不同的四。例如:
我想在表格列表中找到的网址:
https://cmsr-author.de/cf#/content/test/de.html
但网址也可以看起来像这样:
https://cmsr-author.de/content/test/de.html
https://cmsr-author.de/test/de.html
https://cmsr-author.de/cf#/test/de.html
当然,url的最后一部分(在/test/...之后)总是不同的。如果我无法在选项卡列表中找到四个 url 之一,我想调用其他操作。
到目前为止,我的解决方案是构建一些if链:
if (res !== url1) {
if (res !== url2) {
if ...
但我想一定有更优雅的方式。也许通过正则表达式?我已经有一个捕获来捕捉第一部分(https://cmsr-author.ws 保持不变......)与它四种形式。但我不知道如何暗示这一点。
var urls = ["https://cmsr-author.de/content/test/de.html","https://cmsr-author.de/test/de.html","https://cmsr-author.de/cf#/test/de.html"]
var filtered = urls.filter(function(url)
{
return url.indexOf("cf#") > -1 && url.endsWith("/test/de.html")
})
var contains = filtered.length > 0
console.log(contains)
如果你想使用正则表达式,你可以通过在中间部分使用组来做到这一点,这里详细解释:http://www.regular-expressions.info/refcapture.html
实际上,您的正则表达式看起来像这样:
https:'/'/cmsr-author'.de'/(content|...|...)'/de'.html
哪里。。。必须替换为 URL 的中间部分,这些部分不同。请注意 |是"或"用于在组内提供多种可能性。字符/和 。必须转义,因为它们在正则表达式中具有特殊角色。
我希望这有所帮助!
我的英语不好,不完全明白你的意思,按照我的想法,你应该需要一个正则表达式,只能匹配第一个。如果我错了,请@我。
我希望这有所帮助!
var reg = /^https:'/'/cmsr'-author'.de'/cf#'/(?:'w+'/)+test'/de'.html$/gi;
var str1 = "https://cmsr-author.de/cf#/content/test/de.html";
var str2 = "https://cmsr-author.de/content/test/de.html";
var str3 = "https://cmsr-author.de/test/de.html";
var str4 = "https://cmsr-author.de/cf#/test/de.html";
console.log(reg.test(str1));
console.log(reg.test(str2));
console.log(reg.test(str3));
console.log(reg.test(str4));
相关文章:
- 使用Javascript使用数组检查文本框中的值
- JS数组-检查对象值是否重复
- Ruby数组检查并替换为
- 根据数组检查输入变量
- 根据字符串数组检查字符串(密码验证)
- 如何按数组检查字符串是否具有匹配的子字符串
- 多维布尔数组检查 Javascript 中是否全部为真
- 如何根据值数组检查当前窗口位置
- JavaScript多维数组检查
- Javascript 2D数组检查Div类
- JavaScript-用数组检查字符串
- 在for循环数组检查和JSON变量方面遇到问题
- 数组检查,然后是forEach()
- jQuery,根据数组检查类
- JavaScript根据数组检查textfield
- 根据javascript数组检查文本框值
- 根据数组检查值并返回另一个值
- Javascript数组检查
- Javascript数组检查值并分配到数组中
- JavaScript多维数组检查重复