Совпадение нескольких результатов с помощью регулярных выражений - PullRequest
0 голосов
/ 24 февраля 2019

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

/Option\("(\d+)"/g.exec(string)

Выше результата возвращает только 1 результат, который я искал вstackoverflow, они сказали использовать match, поэтому я попробовал ниже

string.match(/Option\("(\d+)"/g);

Выше возвращается множественный результат, но с полной строкой, я просто хочу все доступные (\ d +) части.

Редактировать: строка ввода ниже

var o = 'new Option("26500","26,500.00" ); var o = new Option("26700","26,700.00" ); var o = new Option("26800","26,800.00" )';

1 Ответ

0 голосов
/ 24 февраля 2019

Вы можете использовать положительный прогноз для символов, которые идут после числа, которое вы хотите захватить, чтобы получить все результаты, используя String.match:

(\d+)(?="\s*,\s*")

Если у вас есть версия JavaScript, поддерживающая взглядыВы также можете использовать положительный взгляд назад:

(?<=Option\(")(\d+)

Демонстрация взгляда назад на regex101.com

const str = 'new Option("26500", "26,500.00" ); var o = new Option("26700" ,"26,700.00" ); var o = new Option("26800","26,800.00" )';
const re = /(\d+)(?="\s*,\s*")/g;
console.log(str.match(re));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...