powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сделать одно регулярное выражение из двух
8 сообщений из 8, страница 1 из 1
Сделать одно регулярное выражение из двух
    #40004681
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую System.RegularExpressions.TRegEx
Имеется такой текст:
Код: plaintext
1.
номером 79533041523 его
номером +79533041525 его
После замены через регулярки должно получится так:
Код: plaintext
1.
номером 9533041523 его
номером 9533041525 его
И вот никак не получается сделать одну компактную регулярку. Получается только через 2 почти идентичных.
(\W)\+[78](\d{10})(\W)
(\W)[78](\d{10})(\W)
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004682
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Страдалецъ
Использую System.RegularExpressions.TRegEx
Имеется такой текст:
Код: plaintext
1.
номером 79533041523 его
номером +79533041525 его
После замены через регулярки должно получится так:
Код: plaintext
1.
номером 9533041523 его
номером 9533041525 его
И вот никак не получается сделать одну компактную регулярку. Получается только через 2 почти идентичных.
(\W)\+[78](\d{10})(\W)
(\W)[78](\d{10})(\W)


ИЛИ не срабатывает ? (\W)\+[78](\d{10})(\W) | (\W)[78](\d{10})(\W)
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004684
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так скажите, что + не обязательный
Код: pascal
1.
(\W)\+?[78](\d{10})(\W)
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004692
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это я и искал, небольшая модификация:
(\W)\+?[+78](\d{10})(\W)
и стал искать в любом из вариантов. Спасибо.
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004696
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ,

Зачем ты разрешил двойной плюс?
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004698
Страдалецъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там возможно написание номера вот так: +9533041523, поэтому приходится учитывать и такой вариант.
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004699
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Страдалецъ
Там возможно написание номера вот так: +9533041523, поэтому приходится учитывать и такой вариант.
...
Рейтинг: 0 / 0
Сделать одно регулярное выражение из двух
    #40004703
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страдалецъ
Там возможно написание номера вот так: +9533041523, поэтому приходится учитывать и такой вариант.

Код: php
1.
(\W)\+?[78]?(\d{10})(\W)


Или так, если девятки без плюсов не нужны:
Код: php
1.
(\W)(\+|\+?[78])(\d{10})(\W)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Сделать одно регулярное выражение из двух
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]