PHP регулярное выражение: найти все 6-значные числа в строке, которые не заканчиваются на 00 - PullRequest
0 голосов
/ 25 мая 2010

Я пытаюсь найти все 6-значные числа в строке, которые не заканчиваются на 00. Что-то вроде того /([0-9]{4})([^00])/ // я знаю, что это неправильно

поэтому строка

asdfs dfg_123456_adsagu432100jhasj654321

даст мне

результаты = [123456,654321], а не 432100

Спасибо
Хорошего дня

Ответы [ 2 ]

7 голосов
/ 25 мая 2010

Используйте отрицательный вид сзади: \d{6}(?<!00)

Смотри также

1 голос
/ 25 мая 2010

Вы неправильно используете класс персонажа.
Точно так же как [ab] соответствует a или b, [00] соответствует 0 или 0. Один класс символов не может совпадать с двумя символами одновременно.
[^00] соответствует одному ненулевому символу (например, a)

Вместо этого используйте следующее:

/([0-9]{4})([0-9][1-9]|[1-9][0-9])/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...