powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Регулярное выражение
14 сообщений из 14, страница 1 из 1
Регулярное выражение
    #39209099
murtukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Подскажите пожалуйста регулярное выражение, которое бы удовлетворяло следующему условию:
строка должна содержать ЛИБО только числа, ЛИБО только одно слово ' new '

Всем спасибо.
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209225
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
murtukov,

Код: plaintext
1.
^(\d+)|(new)$
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209435
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivmurtukov,

Код: plaintext
1.
^(\d+)|(new)$

Это не совсем то.
Данное выражение значит: либо число в начале строки, либо new в конце строки.

Правильное такое:
^(\d+|new)$
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209726
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
это одно и то же
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209727
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209732
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivэто одно и то же
А если нет ? ))
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209834
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft ^(\d+)|(new)$

^(\d+|new)$
и это тоже самое
уберите ^$

авторА если нет ? ))
да
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209919
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyMasterZivmurtukov,

Код: plaintext
1.
^(\d+)|(new)$

Это не совсем то.
Данное выражение значит: либо число в начале строки, либо new в конце строки.

Правильное такое:
^(\d+|new)$

намекаешь, что скобки нужно поставить вокруг групп с альтернативой?
ни разу не ставил, всегда работало.

ну это может быть, надо проверить приоритеты операций в рег выражениях.
...
Рейтинг: 0 / 0
Регулярное выражение
    #39209999
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivmurtukov,

Код: plaintext
1.
^(\d+)|(new)$



да, неправильно я написал,
нужно


Код: plaintext
1.
^(\d+|new)$
...
Рейтинг: 0 / 0
Регулярное выражение
    #39210560
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, по нашему спору -- дело тонкое, вполне может быть, что приоритеты операций в регвыражения даже разные в разных библиотеках (реализациях)

Вот проверка в GNU regexxer. (это PCRE 5.0)
...
Рейтинг: 0 / 0
Регулярное выражение
    #39210562
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мораль: вокруг ИЛИ в регвыражениях надо всегда ставить скобки.
...
Рейтинг: 0 / 0
Регулярное выражение
    #39210567
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это CLIon, регвыражения из Java SE.
...
Рейтинг: 0 / 0
Регулярное выражение
    #39210568
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(2)

Поведение одинаковое.
...
Рейтинг: 0 / 0
Регулярное выражение
    #39210597
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivвполне может быть, что приоритеты операций в регвыражения даже разные в разных библиотеках (реализациях)
Жалко что нет подтверждения этой гипотезе ))

MasterZivМораль: вокруг ИЛИ в регвыражениях надо всегда ставить скобки.
Зависит от задачи.
Например обрезать пробелы по обоим краям строки:
Код: sql
1.
s/^\s+|\s+$//g


Тут надо именно без скобок ))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Регулярное выражение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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