У меня есть кусок кода следующим образом:Javascript Регулярное выражение (х)
var str = "foo xxx eee dsds";
var regex = /(foo)/;
console.log(str.match(regex));
Я ожидал, что выход:
Foo
Но фактический выход:
foo, foo
Если я объявить:
вар регулярное выражение =/(FOO)/г;
Выход только Foo
Может кто-нибудь мне помочь? Спасибо за помощь.
'match' возвращает массив. Первый элемент массива - это _whole match_, а второй - вывод _captured_. В этом случае значения одинаковы. Вы хотите второй элемент массива. Проверьте https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match#Examples – undefined
, так почему/(foo)/g возвращает только foo? @Vohuman – ThiepLV
Поскольку стандарт ES говорит так: http: //www.ecma-international.орг/ECMA-262/5,1/# втор-15.5.4.10. Используя глобальный флаг, метод 'match' возвращает другой вывод, массив согласованных значений. – undefined