Регулярное выражение Java-скрипта немного сбивает с толку - PullRequest
0 голосов
/ 22 мая 2019

Я новичок в javascript и пытаюсь понять, что пошло не так с этим кодом.У меня есть функция, которая принимает abc в качестве параметра.

Это регулярное выражение было дано мне одним из моих колледжей.Я понятия не имею, что он делает.Просто хотел понять, что здесь является оператором возврата.

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

Я думаю, что совпадение будет содержать цифры в десятичном формате, но не совсем понятно.что это вернет?Пожалуйста, дайте мне понять это, будет большая помощь.

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Вы можете легко создать фрагмент и отладить его. Используя предоставленный пример:

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 преобразует ваш элемент с index = 2 в Number и увеличивает его на единицу. Итак, на моем примере конечный результат будет 223.

0 голосов
/ 22 мая 2019
(\d+) - one or more digits (0-9)
.+?   - one or more periods (.)
(\d+) - one or more digits (0-9)

Regular expression visualization

Демо Debuggex

...