Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: PREG_MATCH и его функции, прошу объяснить
Т.е. тут может быть вхождение с символами 0-9a-zA-Z и количеством от 6 (т.к. отчет начинается от 0) и закачивается 12 сиволами. Верно? Или я что-то не понимаю.
Данный скрипт пропускает от 6 и до 15 символов (16 символов уже не пропускает).
Что я не понял? нужен лимит в 12 символов.
2. Я не нашел нигде пояснения черточкам /{какой-то код из preg_match}/ - что они значят?
3. Объясните пожалуйста что такое регистронезависимость (i) и жадность (U). Статью - http://www.php.su/lessons/?lesson_17 я прочитал. Вот не понимаю что значят слова, которые написал выше.
Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010
Помог: 5 раз(а)
Регистронезависимость это отсутствие разницы между буквами в верхнем и нижнем регистре, т.е. А=а, б=Б. В вашем случае 0-9a-z, A-Z не нужно, стоит i.
Черточки это обозначение регулярки: /регулярка/.
По поводу жадности долго объяснять, вы бы почитали статьи, их много хороших.
И отчет начинается с 1, т.е. {2,5} это диапазон от 2-х до 5-ти.
antobra
Отправлено: 14 Декабря, 2010 - 11:11:01
Посетитель
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
Invert пишет:
Регистронезависимость это отсутствие разницы между буквами в верхнем и нижнем регистре, т.е. А=а, б=Б. В вашем случае 0-9a-z, A-Z не нужно, стоит i.
Черточки это обозначение регулярки: /регулярка/.
По поводу жадности долго объяснять, вы бы почитали статьи, их много хороших.
И отчет начинается с 1, т.е. {2,5} это диапазон от 2-х до 5-ти.
Спасибо! А не подскажите в чем глюк, когда я ставлю максимально 13, а вводить можно все-равно до 15?
Invert
Отправлено: 14 Декабря, 2010 - 11:23:19
Частый гость
Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010
Помог: 5 раз(а)
У вас точка стоит вначале, самым первым символом. Она является дополнительным символом.
У вас все логины начинаются с точки?
Мелкий
Отправлено: 14 Декабря, 2010 - 11:24:55
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
antobra пишет:
Т.е. тут может быть вхождение с символами 0-9a-zA-Z и количеством от 6 (т.к. отчет начинается от 0) и закачивается 12 сиволами. Верно?
Не совсем.
Здесь может стоять любой символ, кроме перевода строки, после него от 5 до 13 символов диапазоне 0-9a-zA-Z.
перед [ стоит точка - любой символ, т.е. Вот почему 15 тоже проходят - не знаю, недостаточно хорошо знаю регулярки...
Invert пишет:
Она является дополнительным символом.
Если бы... Она является специальным символом, означающим любой символ, кроме перевода строки.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Мелкий пишет:
Если бы... Она является специальным символом, означающим любой символ, кроме перевода строки
Рассматриваемый конкретный случай анализируемой вхожной строки для предоставленного регулярного выражения включает корректные последовательности латинских символов - таким образом первоначальный символ точки обеспечивает соответствие дополнительную символу сторки в независимости от конфигурации жадности по причине цели соответствия полной строке шаблону а не ее отдельных компонентов - кроме того увеличение соответствующей длины строки на единицу обеспечивает индексацией с нуля
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Invert
Отправлено: 14 Декабря, 2010 - 11:53:12
Частый гость
Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010
Помог: 5 раз(а)
JustUserR пишет:
увеличение соответствующей длины строки на единицу обеспечивает индексацией с нуля
Э? А можно подробней?
antobra
Отправлено: 14 Декабря, 2010 - 11:57:31
Посетитель
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
JustUserR пишет:
Мелкий пишет:
Если бы... Она является специальным символом, означающим любой символ, кроме перевода строки
Рассматриваемый конкретный случай анализируемой вхожной строки для предоставленного регулярного выражения включает корректные последовательности латинских символов - таким образом первоначальный символ точки обеспечивает соответствие дополнительную символу сторки в независимости от конфигурации жадности по причине цели соответствия полной строке шаблону а не ее отдельных компонентов - кроме того увеличение соответствующей длины строки на единицу обеспечивает индексацией с нуля
ну замудрил))) Т.е. в общем отчет начинается с нуля? А как же отобразить предел? о котором я писал в первом сообщении
JustUserR
Отправлено: 14 Декабря, 2010 - 12:05:55
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Invert пишет:
Э? А можно подробней?
Указанное вами регулярное выражения включает набор элементов осуществляющих следующее позитивное сравнение - для первого символа обеспечивает совпадения с приозвольным элементом которым в частности может быть и символ новой строки при определени специализированной конфигурации - в то время как последующий шаблон обеспечивает сопоставление с алфативно-цифровыми комбинациями до 14 символов
antobra пишет:
Я не нашел нигде пояснения черточкам /{какой-то код из preg_match}/ - что они значят?
Оригинальный синтаксис с использованием левых слешей для регулярных варажениях применяется в языках программирования где они является константными выраженимями исходнго кода - таких как Perl и JS и в языке PHP они оставлена для визуальной совместимости хотя вложенное выражения располагается в более высоком уровне экранирования строки
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Uchkuma
Отправлено: 14 Декабря, 2010 - 16:13:24
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
antobra пишет:
количеством от 6 (т.к. отчет начинается от 0)
Ага. А если в программировании сложить 0+0 будет 1
Вспоминается история. Один товарищ возвращает другому долг 20000 руб. тысячными банкнотами. Тот пересчитывает купюры и говорит:
- Так тут же одной тысячи не хватает!
- Как не хватает? А ну-ка пересчитай еще раз!
- Ноль, один, два, три, четыре...
Мелкий
Отправлено: 14 Декабря, 2010 - 16:23:56
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Uchkuma пишет:
Ага. А если в программировании сложить 0+0 будет 1
мне больше нравится 1+1:
математика = 2
биология = 3
двоичная система счисления = 10
булева логика = 1
маркетинг = сколько потребуется
физика = сколько получится (если столкнуть 2 объекта, то может получиться очень много объектов поменьше)
antobra пишет:
количеством от 6 (т.к. отчет начинается от 0) и закачивается 12 сиволами
Таки вроде тут именно количество символов, считая с 1, т.к. в уроке:
Цитата:
? - одно или ноль вхождений предшествующего символа или подмаски.
* - любое количество вхождений предшествующего символа или подмаски. В том числе и ноль.
...
Например, * - то же самое, что {0,}. ? - то же, что {0,1}. {5,7} - 5,6 или 7 повторений.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
antobra пишет:
2. Я не нашел нигде пояснения черточкам /{какой-то код из preg_match}/ - что они значят?
эо просто показывает что это регулярка. Можно ставить любые 2 одинаковых символа. Я например использую решётку #
antobra пишет:
3. Объясните пожалуйста что такое регистронезависимость (i) и жадность (U). Статью - http://www.php.su/lessons/?lesson_17 я прочитал. Вот не понимаю что значят слова, которые написал выше.
регистронезависимость это когда большие и маленькие буквы щитаются одинаковыми.
Жадность это когда регулярка будет искать до последнего вхождения. Пример:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.