powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Либо кирилица либо латиница. Регулярные выражения.
10 сообщений из 10, страница 1 из 1
Либо кирилица либо латиница. Регулярные выражения.
    #38716663
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла необходимость проверки на наличие одновременного присутствия кирилицы и латиницы.
Есть такое выражение:
Код: sql
1.
$regulyar_slova = "/^[a-zа-яё0-9\s\-]+$/iu";



Как из него сделать такое, которое разрешало бы либо кирилицу либо латиницу, но не то и другое вместе?
Пробовал с «или», но что-то со скобками намутил, всё равно пропускает смесь символов.
При этом необходимо цифры, пробел и дефис пропускать в любом случае.

Помогите, пожалуйста, составить.
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38716692
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkВозникла необходимость проверки на наличие одновременного присутствия кирилицы и латиницы.
Код: sql
1.
/([a-z].*[а-яё]||[а-яё].*[a-z])$/iu




andrejkсделать такое, которое разрешало бы либо кирилицу либо латиницу, но не то и другое вместе?andrejkПри этом необходимо цифры, пробел и дефис пропускать в любом случае.
Код: sql
1.
/^([а-яё0-9\s\-]+||[a-z0-9\s\-]+)$/iu
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38716693
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, в первом варианте $ (конец строки) не нужен.
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38716704
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
А что у вас означает ||? Я такого символа не могу найти. Подозреваю, что это исключающее «или».
Второй вариант мне понятен, а в первом не понимаю, почему меняются местами кирилица с латиницей в обоих условиях.
И разве «.*» это не любой символ любое число раз? Нужно ведь именно цыфры, дефис и пробел.
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38716730
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkА что у вас означает ||?Действительно, одна лишняя.
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38716733
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkв первом не понимаю, почему меняются местами кирилица с латиницей в обоих условиях.Потому что Вы говорите о
andrejkВозникла необходимость проверки на наличие одновременного присутствия кирилицы и латиницы .Пример. Имеются строки:
Код: plaintext
1.
фитkjgk
kjhgфыв
Они обе удовлетворяют Вашему условию проверки (в цитате). Так как невозможно заранее угадать последовательность появления кириллицы и латиницы, то и проверку делать дважды.
Код: sql
1.
/([a-z].*[а-яё]|[а-яё].*[a-z])/iu

Здесь первая часть выражения должна найти последовательность симвотлов "латиница, кириллица" - вторую строку из моего примера. А вторая часть выражения найдет обратную последовательность, которой характеризуется первая строка из примера.


andrejkИ разве «.*» это не любой символ любое число раз? Нужно ведь именно цыфры, дефис и пробел.Верно, любой. И вот почему. Мой вариант решения вовсе не обязан в идеале под Вашу задачу, которая может быть и недостаточно точно сформулирована здесь. Мой вариант предполагает решение в моем понимании Вами поставленной задачи.
Что значит эта фраза?andrejkПри этом необходимо цифры, пробел и дефис пропускать в любом случае.Не проверять указанные символы вообще? Допускать полностью или частично их наличие или отсутствие? Если такое именно и означает, то пример достаточно точно удовлетворяет этому условию проверки (указаные символы не проверяются и могут быть или не быть в любом месте строки). Если имелось в виду что-то другое (например, в строке не должно быть ничего кроме символов из явно обозначенного списка) - извольте это озвучить.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38717624
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо, использую, пока полёт нормальный.)
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38717627
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имелось ввиду, что можно вводить либо кирилицу либо латиницу, но не их вместе, а вот цифры, дефис и пробел могут быть в любом случае (т. е. рег. выр. должно их пропускать, разрешать)
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38718895
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Появилась ещё одна задача — нужно в словосочетаниях удалить все артикли «the» и «а».
Пробовал вот так с «the»,
Код: php
1.
2.
/(the | the | the)+/
/^(the )|( the )|( the)$/


но лучшее, чего добился, это удаление всех, кроме одного. Один оставался всё равно, если было несколько артиклей в словосочетании.
Помогите, пожалуйста, с составлением рег. выражения для функции preg_replace().
...
Рейтинг: 0 / 0
Либо кирилица либо латиница. Регулярные выражения.
    #38718938
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkПоявилась ещё одна задача — нужно в словосочетаниях удалить все артикли «the» и «а».
Пробовал вот так с «the»,
Код: php
1.
2.
/(the | the | the)+/
/^(the )|( the )|( the)$/


но лучшее, чего добился, это удаление всех, кроме одного. Один оставался всё равно, если было несколько артиклей в словосочетании.
Помогите, пожалуйста, с составлением рег. выражения для функции preg_replace().
Посмотри в сторону \b. Если ещё правильно помню, то тебе нужно что-то типа /\bthe\b/ (не забудь обратные слэши экранировать, а то не взлетит).
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Либо кирилица либо латиница. Регулярные выражения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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