Java脚本正则表达式有点混乱

时间:2019-05-22 11:13:23

标签: javascript qregularexpression

我实际上是javascript新手,我正试图了解这段代码出了什么问题。 我有一个接受abc作为参数的函数。

这个正则表达式是由我的一所大学给我的。我不知道它在做什么。 只是想了解这里的return语句。

(function(abc) {
  var match = abc.match(/(\d+).+?(\d+)/);
  return +match[2] + 1;
});

我认为比赛将以十进制格式包含数字,但不清楚。 这将返回什么?请让我明白这一点,将对您有很大的帮助。

2 个答案:

答案 0 :(得分:0)

(\d+) - one or more digits (0-9)
.+?   - one or more periods (.)
(\d+) - one or more digits (0-9)

Regular expression visualization

Debuggex Demo

答案 1 :(得分:0)

您可以轻松创建一个代码段并对其进行调试。使用提供的示例:

function getDiskInfo(diskinfo) {
  var match = diskinfo.match(/(\d+).+?(\d+)/);
  return +match[2] + 1;
}

console.log(getDiskInfo('111.222'));

在此示例中,如@phuzi所述:

var match = ['111.222', '111', '222'];

之后,您的return语句将索引= 2的元素强制转换为Number并将其递增1。因此,以我的示例为例,最终结果将为223。