Cheery
.:МордератоР:. | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору khakas Цитата: Вы подразумеваете, что print $1 по факту напечатает $matches[1][11], верно я понял мысль? Т.е. самое ПОСЛЕДНЕЕ совпадение, для которого произошел мач (а он происходит на любой подстроке для *, в отличие от +) | нет, если используете preg_match, то вернет только первое значение (пустое) если preg_match_all, то все Цитата: Тогда мне не совсем понятно - после "1990" ведь нет больше символов, откуда берется $mathes[.][11], что сравнивается с шаблоном в 12-й раз ??? Что ДО цифр вернулось 10 пустых мест - это понятно... | Код: echo ord($matches[1][11]); | покажет вам 0 практически во всех языках программирования строка записывается как какой то текст\0 где \0 определяет конец строки. правда, думаю, такое выдаст и для любого "".. но насчет \0 в конце каждой строки это точно. http://php.net/manual/en/function.rtrim.php к примеру Цитата: "\0" (ASCII 0 (0x00)), the NUL-byte. | http://php.net/manual/en/security.filesystem.nullbytes.php Цитата: И - как же жадность?... я ее понимаю так - из всех возможных совпадений с шаблоном берется самое длинное... | жадность работает тогда, когда выборка попадает под регулярное выражение. "ничего" означает один символ не попадающий под выражение (цифра) если же сделать \w*, то тут жадность работает, так как символы попадают в выборку. ps: насчет нуля могу и ошибаться - не помню всех деталей.
| Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:43 01-07-2013 | Исправлено: Cheery, 23:55 01-07-2013 |
|