检查多个字符串以匹配多个正则表达式(两个数组)

用户名

我需要检查数组的所有元素(字符串)是否与任何正则表达式匹配,正则表达式也存储在数组中。

所以这是字符串数组和regex数组(在此示例中,所有三个元素都是相同的regex-我知道这没有意义):

let array = [ 'just some', 'strings', 'which should be tested', 'by regex' ];
let regexes = [ /([^.]+)[.\s]*/g, /([^.]+)[.\s]*/g, /([^.]+)[.\s]*/g ];

现在,我将_.each像这样执行两个-loops:

_.each(array, function(element) {
    _.each(regexes, function(regex) {
        let match = regex.exec(element);
        if (match && match.length)
            doSomething(match);
    });
});

但是我要实现的是,如果只有一个正则表达式匹配,我想处理此字符串。因此,对于这种毫无意义的正则表达式数组,情况将永远不会如此,因为将不存在或只有三个匹配的正则表达式。

此外,我想知道是否有可能避免此嵌套的每个循环。

更新

例子:

let array = [ '1. string', 'word', '123' ]
let regexes = [/([a-z]+)/, /([0-9]+)/]

array[0] should NOT pass the test, as both regex are matching
array[1] should pass the test, as just ONE regex is matching
array[2] should pass the test, as just ONE regex is matching

因此,仅应将array [1]和array [2]的结果用于进一步处理 doSomething(match)

妮娜·斯科茨(Nina Scholz)

您可以使用Array#reduce并计算比赛次数。如果count相等1,则进一步处理。

var array = ['1. string', 'word', '123'],
    regexes = [/([a-z]+)/, /([0-9]+)/];

array.forEach(function (a) {
    var match,
        count = regexes.reduce(function (count, r) {
            var test = r.exec(a);
            if (!test) {
                return count;
            }
            match = test;
            return count + 1;
        }, 0);

    count === 1 && console.log(match);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配两个字符串,包括那些字符串

来自分类Dev

正则表达式:查找包含两个或多个字母的每个字符串

来自分类Dev

使用正则表达式查找两个字符串之间的所有匹配项

来自分类Dev

两个字符串数组之间的正则表达式匹配

来自分类Dev

正则表达式,用于查找两个字符串之间的匹配项(复数)

来自分类Dev

Python正则表达式以两个不同的顺序匹配两个字符串?

来自分类Dev

正则表达式匹配文档中两个字符串之间的所有字符

来自分类Dev

如何用正则表达式匹配字符串中的一个或多个字符?

来自分类Dev

正则表达式匹配多个字符串

来自分类Dev

正则表达式可在两个字符串之间找到多个匹配项

来自分类Dev

两个字符串之间的python正则表达式匹配

来自分类Dev

正则表达式:匹配两个字符串之间的所有字符

来自分类Dev

正则表达式从多个字符串匹配,保留顺序

来自分类Dev

javascript正则表达式匹配两个字符串,并计算其中的字符数

来自分类Dev

使用正则表达式在多个文件中计算多个字符串

来自分类Dev

通过使用正则表达式匹配在两个字符串之间选择文本

来自分类Dev

使用正则表达式查找两个字符串之间的多个匹配项

来自分类Dev

用多个字符串匹配整个世界的正则表达式

来自分类Dev

多个正则表达式替换,会创建多个字符串吗?

来自分类Dev

正则表达式匹配和替换字符串之间的两个字符

来自分类Dev

如何编写检查两个或多个字符的前瞻性正则表达式?

来自分类Dev

正则表达式:查找包含两个或多个字母的每个字符串

来自分类Dev

Bash正则表达式,两个字符串之间的匹配字符串

来自分类Dev

正则表达式匹配多个字符串

来自分类Dev

正则表达式-匹配两个字符串之间的字符串

来自分类Dev

正则表达式,以匹配其他两个字符串之间的字符串

来自分类Dev

如何使用正则表达式匹配多个字符串?

来自分类Dev

正则表达式模式匹配并获得两个字符串

来自分类Dev

正则表达式匹配两个字符之间的字符串

Related 相关文章

  1. 1

    正则表达式匹配两个字符串,包括那些字符串

  2. 2

    正则表达式:查找包含两个或多个字母的每个字符串

  3. 3

    使用正则表达式查找两个字符串之间的所有匹配项

  4. 4

    两个字符串数组之间的正则表达式匹配

  5. 5

    正则表达式,用于查找两个字符串之间的匹配项(复数)

  6. 6

    Python正则表达式以两个不同的顺序匹配两个字符串?

  7. 7

    正则表达式匹配文档中两个字符串之间的所有字符

  8. 8

    如何用正则表达式匹配字符串中的一个或多个字符?

  9. 9

    正则表达式匹配多个字符串

  10. 10

    正则表达式可在两个字符串之间找到多个匹配项

  11. 11

    两个字符串之间的python正则表达式匹配

  12. 12

    正则表达式:匹配两个字符串之间的所有字符

  13. 13

    正则表达式从多个字符串匹配,保留顺序

  14. 14

    javascript正则表达式匹配两个字符串,并计算其中的字符数

  15. 15

    使用正则表达式在多个文件中计算多个字符串

  16. 16

    通过使用正则表达式匹配在两个字符串之间选择文本

  17. 17

    使用正则表达式查找两个字符串之间的多个匹配项

  18. 18

    用多个字符串匹配整个世界的正则表达式

  19. 19

    多个正则表达式替换,会创建多个字符串吗?

  20. 20

    正则表达式匹配和替换字符串之间的两个字符

  21. 21

    如何编写检查两个或多个字符的前瞻性正则表达式?

  22. 22

    正则表达式:查找包含两个或多个字母的每个字符串

  23. 23

    Bash正则表达式,两个字符串之间的匹配字符串

  24. 24

    正则表达式匹配多个字符串

  25. 25

    正则表达式-匹配两个字符串之间的字符串

  26. 26

    正则表达式,以匹配其他两个字符串之间的字符串

  27. 27

    如何使用正则表达式匹配多个字符串?

  28. 28

    正则表达式模式匹配并获得两个字符串

  29. 29

    正则表达式匹配两个字符之间的字符串

热门标签

归档