javascript - 正则表达式匹配中间的数字

标签 javascript regex

以下字符串表示 View 模型属性,在本例中它有 3 个不同的索引:

PROGRAMA_FASES[1].PROGRAMA_FASE_REPLICAS[0].PROGRAMA_FASES.PROGRAMA_PREGUNTAS[2].值

我正在使用这些函数来增加第一个索引或最后一个索引。

function increment_last(v) {
    return v.replace(/[0-9]+(?!.*[0-9])/, function (match) {
        return parseInt(match, 10) + 1;
    });
}

function increment_first(v) {
    return v.replace(/(\d+)/, function (match) {
        return parseInt(match, 10) + 1;
    });
}

...如您所见,我在增加数字之前使用正则表达式来匹配数字。

你能帮我设计一个只匹配中间索引的正则表达式吗?在这种情况下,它将是“0”。

非常感谢

最佳答案

如果模式一致 (TEXT[NUMBER].TEXT[NUMBER].TEXT[NUMBER]),您可以匹配所有匹配项,然后选择第二个匹配项。一个简单的例子(假设上面的 TEXT 始终是字符串字符并且从不包含数字)是:

var number = "PATTERN[0].TO[1].MATCH[2]".match(/\d/g)[1];

如果您希望混合数字并且只想匹配括号中的数字,您可以更新正则表达式,例如 /\[\d\]/g,然后选择数字从匹配的括号内开始。

关于javascript - 正则表达式匹配中间的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727016/

相关文章:

Java 字符串的正则表达式

javascript - 删除 IE 的滚动条

javascript - 如何仅注销我的 FB 应用程序而不是我的 Facebook 帐户?

php - 从头开始匹配字符串的一部分

regex - Vim 正则表达式跳过定界符

java - 使用正则表达式从文本中分割单词

javascript - 在父 View 中触发 subview 模型方法: MarionetteJs

javascript - Google Closure 编译器发出警告 : incompatible types; even when parameters have common types, 有没有办法解决这个问题?

javascript - 通过 JSON 文件创建大型客户端 Javascript 对象数组的替代方案?

javascript - 两个单词之间有空格