【问题标题】:How to remove groups within a string in order? [closed]如何按顺序删除字符串中的组? [关闭]
【发布时间】:2019-03-27 09:14:14
【问题描述】:

我的目标是从二进制字符串中提取 0 或 1 的块。使用 regex.match 查找模式会拉出所有块并失去顺序。我需要能够将任何长度的二进制文件传递给它。如何正确提取块,以便 '10011000001' -> '1', '00', '11', '00000', '1'?

我只能考虑运行一个循环来计算从 0 到 1 的变化次数,然后在其上交替运行 regex.match(),但这肯定是低效的。

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    您可以查找一个数字并查找更多同一组。

    var string = '10011000001',
        parts = string.match(/([01])\1*/g);
    
    console.log(parts);

    【讨论】:

    • 太棒了!谢谢!您能向我解释其中的一些功能吗?我仍然对正则表达式有所了解。所以 () 设置了一个捕获组并检查 0 或 1 以开始捕获,对吗?然后 \1 将其设置为重复忽略以前的捕获? * 在这里具体做什么?
    • * 是量词,它取零或最多所有匹配项。在这种情况下,它会查找相同的组值,即使没有找到。
    猜你喜欢
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    相关资源
    最近更新 更多