| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > составление шаблона для eregi |
| Автор: ShamanVoodoo 5.8.2008, 16:22 |
| есть строка вида "[11] Кристаллическая Руда 91.02 (92) ", нужно проверить соответствует ли она шаблону "[ 1-3 цифры ] любой текст ( 1-3цифры )", если не сложно подскажите шаблон или где взять информацию по составлению этого шаблона. |
| Автор: skyboy 5.8.2008, 17:17 |
| в мане http://ua2.php.net/manual/ru/regexp.reference.php |
| Автор: ShamanVoodoo 5.8.2008, 18:47 |
| о! пасиб! а то в описании самой функции ни слова =\ |
| Автор: ShamanVoodoo 5.8.2008, 21:57 |
| пробую "^\[[0-9]{1.3}\]"+[a-z0-9\.-]+\([0-9]{1,3}\)$" , но ничего не получается |
| Автор: Mal Hack 5.8.2008, 22:02 | ||
При этом, рекомендую, обратить внимание на http://php.net/trim и сопоставить ее применение с вашей задачей. Регулярные выражения PRCE оптимальнее, чем POSIX. |
| Автор: ShamanVoodoo 5.8.2008, 22:10 |
| ^\[\d{1,3}\](.*)+(\(\d{1,3}\))$ разобрался) |
| Автор: Mal Hack 5.8.2008, 22:14 |
| ShamanVoodoo, 1. Вы зря скобки ставите лишние... Под них выделяется лишняя память, а она вам ни к чему, вам же проверить по шаблону надо, а не распарсить... 2. (.*)+ - бред написан. Значит любой символ ноль и более раз один и более раз. |
| Автор: ShamanVoodoo 5.8.2008, 22:25 | ||||
| ^\[\d{1,3}\](.*)\(\d{1,3}\)$ ? да ,я уже обратил внимание что eregi работает криво и перешел на
|
| Автор: Mal Hack 5.8.2008, 22:36 |
А это зачем? ShamanVoodoo, опять-таки .* - значит "ноль и более" раз, а вам нужно, как миниму чтоб хоть какой-ть символ там был, исходя из задачи, которую вы поставили в первом после, плюс, не забудте про ?. Уберите скобки вокруг.*... |
| Автор: ShamanVoodoo 5.8.2008, 22:49 | ||
substr для того чтобы длинные переменные не пытались засунуть, maxsize в формах стоит, но его же можно обойти...
|