正则表达式 - 匹配列表中的数字
Regular expression - match numbers in a list
我有一个带有数字的列表:
2 3 11 17 21 6
同时,我还有另一个带有分隔符的数字列表'-'
:
-4-7-11-15-9-6-
我需要在 javascript 中找到一个与第一次出现匹配的正则表达式(在本例中):
11
// returns index of first occurence of element in arr
// otherwise, returns -1
var getFirstOccurence = function (arr, str) {
// split the str by dashes and map to an array of numbers
var t = str.split("-").map(Number);
for (var i = 0; i < arr.length; i++) {
// arr[i] is in t, return its index
if (t.indexOf(arr[i]) > -1) return i;
}
// otherwise, return -1 (not in list)
return -1;
}
var str = "-4-7-11-15-9-6-",
list = [2, 3, 11, 17, 21, 6];
alert(getFirstOccurence(list, str));
// alerts 2; arr[2] is 11, which is in the list
修改第二个列表以(4|7|11|15|9|6)
并将其用作模式
演示
你可以
var string = '-4-7-11-15-9-6-',
array = [2, 3, 11, 17, 21, 6];
var regex = new RegExp('-(' + array.join('|') + ')-');
var match = string.match(regex);
var value = match ? match[0] : undefined;
console.log()
/(?:^|-)11(?:-|$)/
此正则表达式将在前面、中间和结尾匹配 11 个
相关文章:
- 如何在javascript中迭代数字列表
- 正则表达式 - 匹配列表中的数字
- 如何在javascript中排列数字列表
- 从1-9之间的随机数字列表中选出3个相同的数字
- 将数字列表转换为带有 PHP 或 JS 后缀的特定价格格式
- 如何使用javascript将数字列表推送到数组中
- 如何创建一个具有给定范围、四分位数和中位数的数字列表
- 如何将一个大的数字列表转换为JavaScript数组格式
- Knockout.JS打印一个数字列表
- 允许逗号和空格分隔的数字列表的正则表达式
- 将数字列表转换为字符串列表
- 对数字列表进行正则表达式测试
- 如何用javascript排序字母数字列表
- 如何在tinyMCE中添加项目符号和数字列表键盘快捷方式
- Regex计算以逗号分隔的6位数字列表
- 将数字列表转换为代码
- 将以换行符分隔的数字列表转换成一行
- Foreach数字列表(作为数组)javascript/jquery替代PHP
- 从表中已排序的数字列表中查找数字的位置
- 嗨,我想转换成给定格式的数字列表