Великолепным и весьма полезным дополнением в PCRE является концепция именованных захватываемых групп (которые чаще называют имешюанными шаблонами). Такие группы позволяют вам обращаться к подшаблонам вашего выражения по произвольному имени вместо обращения но номеру позиции внутри регулярного выражения. Например, рассмотрим следующее регулярное выражение: /ЛЫате=(.+)$/
Стандарт регулярных выражений POSIX, возможно, является наиболее простой формой регулярных выражений, доступных программисту РНР. Именно поэтому он представляет собой отличное учебное пособие, поскольку набор функций, реализованный в нем, не включает никаких "усовершенствованных" средств.
Несмотря на то что регулярные выражения достаточно мощные благодаря своим оригинальным правилам, присущие им ограничения могут сузить их применение. Например, не существует регулярного выражения, которое можно использовать для обозначения концепции "любой символ". Вдобавок, если вам случится указать скобку или звездочку в качестве регулярного выражения, вы потерпите неудачу.
Регулярные выражения, по сути, представляют собой полностью новый язык, со своими правилами, структурой и своими причудами. Вы также обнаружите, что ваши знания других языков программирования практически никак не помогают в изучении регулярных выражений — по той простой причине, что регулярные выражения в высшей степени специализированы и следуют своим собственным правилам.
Регулярные выражения (regular expressions — regex) — одна из "темных" сторон практического компьютерного программирования. Спросите у любого программиста — и вы имеете большие шансы услышать, что он в той или иной мере сталкивался с проблемами при их использовании (или, хуже того, вовсе их избегает)
Можно использовать множество методов обработки строк в РНР. Одним из очень распространенных способов применения массивов является обработка списка значений, представленных в виде строки, как показано в следующем примере:
Теперь, когда вы имеет представление о том, как использовать массивы для организации простой таблицы, а также о том, как спроектировать таблицы массивов для обеспечения максимальной гибкости при работе с сортировкой, рассмотрим другой тип таблиц — поисковые таблицы (lookup tables).
Помимо использования массивов как простых списков, массивы РНР также весьма удобны, когда вы имеете дело с данными в форме таблиц. В этом разделе вы научитесь реализовывать простые таблицы средствами массивов РНР. Затем будет рассмотрен более сложный пример разработки базирующихся на массивах таблиц, которые могут быть отсортированы по нужной колонке с помощью РНР-функций сортировки массивов.
Возможно, одним из наиболее распространенных способов использования массивов является применение их в качестве списков. Фактически большинство примеров, рассмотренных до настоящего момента, используют массивы именно как простые списки. В настоящем разделе будет показано, как применить список, основанный на массиве, для обеспечения достаточно специфической цели — автоматической генерации HTML-кода, предназначенного для отображения группы графических изображений.
В настоящее время более 60 функций РНР связаны с манипуляциями с массивами. И хотя их слишком много, чтобы полностью раскрыть все в настоящей книге, почти все они подробно документированы в онлайновом руководстве по РНР