Модераторы: Aliance, skyboy, MoLeX, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярные выражения, обучение 
:(
    Опции темы
mr.Anderson
Дата 16.6.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Так. Можно мне на задания поотвечать, Mal Hack? Вы их задали, а мы их толком и не разобрали. Или я не нашел?
В общем, вот мои ответы. По порядку. С использованием указанных у PARROT функций.
Задание первое. (В строке - только латынь)
Код

$str=preg_replace("/[^[a-z]+]/i","",$str,-1);

Задания второго я не понял смысла. (В строке только латынь - отдельно заглавные, отдельно прописные буквы).
Третье (пять раз буква G, затем 4 любых символа кроме перевода строки, далее буква H, перевод строки, фраза PARROT - THE BEST):
Код

if(!preg_match("/[G{5}[^\Z]{4}H[\Z]{1}PARROT - THE BEST/"))
   {exit;}

Четвертое (Строка без пробелов):
Код

$str=preg_replace("/\s/","",$str,-1);

Пятое (в начале и конце строки символы F, в середине не могут быть символы L,K,J,H):
Код

if(!preg_match("/^(F+)[^[L|K|J|H]+](F+)$/",$str))
   {exit;}

И шестое (аналогично пятому, только середина - 6 символов):
Код

if(!preg_match("/^F{5}[^[L|K|J|H]{1}F{5}$/",$str))
   {exit;}

Прошу проверить и оценить!

P.S. PARROT, это уже PCRE, да?

Это сообщение отредактировал(а) sim7 - 16.6.2005, 17:22


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 16.6.2005, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



sim7, отредактируй свое сообщение, добавь то, что ты искал и что ты нашел.
Так сложно судить. Не понятно че ты ищешь.

А зачем в наборе между буквами | ?


Это сообщение отредактировал(а) PARROT - 16.6.2005, 17:23


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
mr.Anderson
Дата 16.6.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



PARROT, готово!


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 16.6.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Мое мнение:
1 пример: лишние скобки перед началом строки.
Sim7, у тебя нет желания сначала научиться писать регулярки, а потом уже заниматься функциями? Скачай тестер, что я давала в первом посте.
2 задание тоже...
Что такое [^\Z] во втором примере? 4 любых символа? То есть или буква или цифра? [a-zA-Z0-9_]{4}
ПРоверяй тестером. Так быстрее дело пойдет.

Это сообщение отредактировал(а) PARROT - 16.6.2005, 17:38


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
mr.Anderson
Дата 16.6.2005, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



1. Нет, не лишние. У меня ведь такой смысл: переписать на "" все символы, кроме латинских букв. А символ ^ имеет значение "кроме" только в квадратных скобках.
2. \Z означает символ перевода строки или символ конца строки. Выражение [^\Z] означает "все символы, кроме перевода строки или конца строки".
С вашим тестером я не разобрался абсолютно.
Учиться мне пока не по чему. Когда куплю книгу, буду учиться. И потом, этот раздел называется "PHP: Уроки", а не "PHP: Практика". Так? То есть, здесь люди учатся! А не практикуются в том, что уже выучили! Так что с вашим мнением я абсолютно не согласен. Во всех отношениях и со всех сторон.
И еще: а что другие задания? Вы только два посмотрели. А указанные вами ошибки - не ошибки, как следует из моих объяснений.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 16.6.2005, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(sim7 @ 16.6.2005, 17:21)
Задание первое. (В строке - только латынь)

[] - лишние.

Цитата(sim7 @ 16.6.2005, 17:21)
Третье (пять раз буква G, затем 4 любых

Вообще синтасически не верен. smile

Цитата(sim7 @ 16.6.2005, 17:21)
Четвертое (Строка без пробелов):

Задания не понял smile Смысл в том, что в строке могут быть любые символы кроме пробелов,

Цитата(sim7 @ 16.6.2005, 17:21)
Пятое (в начале и конце строки символы F, в середине не могут быть символы L,K,J,H):

ini_set( 'display_errors' , '1' );
error_reporting(E_ALL);ожно упростить.

Цитата(PARROT @ 16.6.2005, 18:18)
А зачем в наборе между буквами | ?

Или. только это должно не внутри [] а внутри () указываьтся


sim7
PARROT
Ждите до выходных, сделаю вам список заданий, и сравним кто больше и правильнее сделает (аля окнкурс с голосованием).. Пока практикуйтесь smile
PM ICQ   Вверх
mr.Anderson
Дата 16.6.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Задание третье - почему? smile
А у меня и стоит - стереть все пробелы. Посмотрите внимательней. smile


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 16.6.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



Цитата(sim7 @ 16.6.2005, 19:56)
Задание третье - почему? smile

Посчитай кол-во [ и ]
PM ICQ   Вверх
mr.Anderson
Дата 16.6.2005, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Ой. smile Сейчас поправлю...
Будет вот так:
Код

if(!preg_match("/[G{5}[^\Z]{4}H[\Z]{1}]PARROT - THE BEST/"))
   {exit;}

Добавлено @ 19:12
Так? Или нет?
И еще: что можете посоветовать почитать про PCRE в интернете (на русском языке)?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 16.6.2005, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Mal Hack
Мне нужны знания. Так что меня можно вычеркивать.
Задания жду. Книгу читаю. Пишу.
С Уважением, PARROT.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Рыжий
Дата 16.6.2005, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



хм, а можно к вам присоединиться?
Только больно ногами не бейте я еще не спец в этом smile
PM MAIL ICQ   Вверх
mr.Anderson
Дата 16.6.2005, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Давайте! Я ведь тоже начинающий. ;)


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 16.6.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



PARROT не думай, что я легкие задания давать буду smile
PM ICQ   Вверх
PARROT
Дата 16.6.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



А мы легких путей не ищем! Не получится сегодня, получится завтра. Зато после, не будет на нашем форуме, от нас же вопросов: Поможите написать регулярку!
А регулярка Рулез!!! smile


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Mal Hack
Дата 16.6.2005, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 16
Всего: 261



http://forum.vingrad.ru/index.php?act=ST&f...=55764&unread=1
Вуаля.. Подумал я тут, что в выходные времени не будет smile))
PM ICQ   Вверх
Страницы: (7) Все « Первая ... 3 4 [5] 6 7 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0767 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.