Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Нужна помощь в регулярке
 
 автор: bbum605   (04.09.2009 в 18:29)   письмо автору
 
 

Объясните пожалуйста на простом примере, что может обозначать выражение типа:

( ( ? : # | // ) [ ^ \ n ] * | / \* .*? \* / )

Извините, что пишу с пробелами. далее знак // - однострочный коммент

Я разобрал его так: последняя часть:

/ \* .*? \* / где: / \* // /*

[ ^ \n ] * // любые символы, кроме \n и и этих символов может не быть, а могут быть в любых

количествах .

всё бы ничего, но я не могу понять, что делает этот кусок выражения: ( ? : # | // )

Я читал в нете что сочетание двух символов: ?: // предписывает не сохранять результат для

данных круглых скобок, но на практике всё иначе. Кто что подскажет? В поисковиках был.

  Ответить  
 
 автор: heed   (04.09.2009 в 22:56)   письмо автору
 
   для: bbum605   (04.09.2009 в 18:29)
 

>не сохранять результат

всё правильно, здесь можно было совсем не делать никаких скобок
, но тогда "или " между только двумя подстроками # | // распостранится и на всё остальное
, и (?:) в случаях когда ненадо ничего захватывать всегда лучше чем ()

> на простом примере

, проще всего просто запустить на каком-нибудь файле , и посмотреть ;)
( ( ? : # | // ) [ ^ \ n ] * | / \* .*? \* / )

это похоже на отлов комментариев в стиле php,
, если это и есть всё выражение , то можно убрать внешние скобки, и вместо $1 использовать $0
(если используется)
, а так много вариантов написания этого самого '@(?:#|//)[^\n]*|/\*.*?\*/@s'

  Ответить  
 
 автор: bbum605   (05.09.2009 в 12:08)   письмо автору
 
   для: heed   (04.09.2009 в 22:56)
 

Спасибо за ответ heed. Сам уже разобрался. А за советы спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования