Как я могу использовать регулярные выражения, чтобы получить 1 или 2 символа после определенного символа? - PullRequest
0 голосов
/ 02 июня 2019

Как я могу использовать регулярные выражения, чтобы получить 1 или 2 символа после определенного символа -?

Например:

33225566-69   => 69
33225544-5    => 5

Но я не хочу больше 3 символов:

33226655-678  =>  Do not select

Lookbehind не поддерживается в некоторых браузерах. Я хочу, чтобы команда regex не смотрела назад.

1 Ответ

3 голосов
/ 02 июня 2019

Просто сопоставьте -, затем захватите 2 цифры, посмотрите на другую цифру с отрицательным прогнозом и извлеките захваченную группу, если она существует. В Javascript, например:

['33225566-69', '33225544-5', '33226655-678'].forEach((str) => {
  const match = str.match(/-(\d{1,2})(?!\d)/);
  console.log(
    match
    ? match[1]
    : 'No Match'
  );
});

Если деталь с - и числами всегда находится в конце строки, тогда вместо просмотра используйте $:

-(\d{1,2})$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...