Извините, если заголовок не был достаточно дескриптивным. У меня есть куча телефонных номеров в базе данных mysql. Не знаю, есть ли запрос для этого или лучше использовать что-то вроде preg_match с PHP. Но мне нужно искать, используя шаблон:
Заканчивается XXXX или содержит 4XXX
Х означает одно и то же число. Поэтому, если я искал Ends с XXXX Im, ища любое число, например:
671-0000
421-5555
789-1111
Если я ищу Contains 4XXX, то Im ищет любое число, например:
345-4111
156-4777
По какой-то причине я не могу обмотать мозг вокруг этого. Похоже, это было бы довольно легко. Может ли кто-нибудь помочь? Ценить это!
Самое простое выражение для шаблона NXXX:
\d(\d)\1{2}
Если используемый вами механизм регулярных выражений поддерживает такое обратное отслеживание с помощью \1
, которое ссылается на любую цифру, находящуюся в (\d)
месте, то это должно работать так же, как в этом примере.
Вы также можете адаптировать это для шаблона XXXX, например:
(\d)\1{3}
Где эти три повторяющиеся, одинаковые цифры после первого.
333-\d123
будет соответствовать любому X, если вы это имеете в виду. Для повторного X вам нужно захватить его и вернуться к нему.