совпадать с номерами без префикса с определенным словом Regex - PullRequest
0 голосов
/ 10 января 2019

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

Для textA123text ни один не должен совпадать, потому что 123 отстает от A.

Для textBC123text, 123 должно совпадать.

Я обнаружил негативный взгляд, как будто (?<!A)(\d) не работает. Это соответствует 23 в textA123text, потому что 23 отстает 1.

Есть ли способ сделать это с помощью Regex?

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Конечно, просто добавьте \d к своему утверждению о просмотре:

(?<![A\d])(\d+)
0 голосов
/ 10 января 2019

В дополнение к использованию отрицательного lookbehind для A, также отрицательного lookbehind для \d, чтобы убедиться, что вы находитесь на первом символе числа, которому не предшествует A:

(?<![A\d])\d+

https://regex101.com/r/jhWM30/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...