1. Частично не соглашусь, от кавычек зависит что нужно экранировать. В какой то статье писалось что неправильное экранирование идет во вред регуряке по 3 причинам.
a) регурка делает лишние телодвижение что бы определить что экранировать ничего не нужно и что это не метасимвол.
b) в будущем \@ может стать метасимволом, и тогда регулярка после обновления вылетит с ошибкой.
с) регулярка стает менее читабельной, из за лишнего-ненужного символа, полюс порождает мысль что это неизвестный тебе метосимвол.(я вот задумался и просмотрел опять мануал, в поисках что за метопоследовательность)
2. Тут согласен. Но для новичков я бы посоветовал использовать \S, так как [^...] дополнительные телодвижения для механизма PCRE, в сторону производительности и внутрених оптимизаций.
3. Тут вообще не согласен. В мануале имелось введу про то что если в искомом тексте нету перевода строки, то ^ и $ не меняют свое повидение, или если в искомой строке есть переводы строк но нету ^ и $, тоже не имеет смысла. Буду очень рад если ты примером докажешь обратное.
4. С утфом в регексах от версии к версии все как то не стабильно, но использование u подключает нехилую таблицу юникода, да и не все еще перешли на utf-8
З.Ы. написал ответ просто для информационности новичков (Отредактировано автором: 27 Декабря, 2011 - 18:45:51)
|