Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 匹配特定字符串和范围内数字组合的正则表达式可以是什么?_Javascript_Regex - Fatal编程技术网

Javascript 匹配特定字符串和范围内数字组合的正则表达式可以是什么?

Javascript 匹配特定字符串和范围内数字组合的正则表达式可以是什么?,javascript,regex,Javascript,Regex,什么是正则表达式来匹配一个特定字符串的组合,后跟一个范围内的数字 比如说 它应该只匹配iOS8、iOS9、iOS10、iOS11、iOS12、iOS13 字符串-iOS| 范围-8到13此表达式仅与列出的所需iOS版本匹配: iOS[89]|iOS[1][0-3] 测验 const regex=/iOS[89]| iOS[1][0-3]/gm; const str=`iOS7 损失8 损失9 损失10 损失11 iOS12 iOS13 iOS14`; 让m; 而m=regex.execstr

什么是正则表达式来匹配一个特定字符串的组合,后跟一个范围内的数字

比如说

它应该只匹配iOS8、iOS9、iOS10、iOS11、iOS12、iOS13

字符串-iOS|
范围-8到13

此表达式仅与列出的所需iOS版本匹配:

iOS[89]|iOS[1][0-3]
测验 const regex=/iOS[89]| iOS[1][0-3]/gm; const str=`iOS7 损失8 损失9 损失10 损失11 iOS12 iOS13 iOS14`; 让m; 而m=regex.execstr!==空的{ //这是避免具有零宽度匹配的无限循环所必需的 如果m.index==regex.lastIndex{ regex.lastIndex++; } //可以通过'm`-变量访问结果。 m、 forEachmatch,groupIndex=>{ log`find match,group${groupIndex}:${match}`; };
} 一种更简单的方法是提取数值,并与最低值和最高值进行比较:

var arr=['iOS0'、'iOS1'、'iOS8'、'iOS12'、'iOS15'、'abc123'] console.logarr.maps函数{ 如果m=s.match/^iOS\d+$/{ 如果m[1]>7&&m[1]<14{ 返回s+->匹配; }否则{ 返回s+->不匹配; } }否则{ 返回s+->不匹配; }
};你试过什么?什么不起作用?你得到了什么?你期待什么?更通用的方式iOS[1][0-3]| iOS[1-9]范围选择应按以下顺序进行:3位、2位、1位数字例如:如果匹配的是iOS1到iOS 213正则表达式-iOS[1-2][0-1][0-3]| iOS[1][0-3]| iOS[1][0-3]| iOS[1-9]