Регулярные выражения

kruftin

Новичок
Требуется найти в файле строчку, которая содержит @Name: text и заменить это все на \section{@Name: text}, не подскажите как написать регулярное выражение для поиска сией конструкции. Изучаю регулярные выражения, но вот не могу пока придумать как это написать правильно. text может быть любым и идет до конца строки(ну текстом может быть любой литерал, в любом количестве).
preg_replace("/(@Name)[:]*$/","\section{ \1 }" ,$string); - типа такого писал).
 

kruftin

Новичок
Не ну это понятно, что есть проверялки регулярных выражений. А вот как сделать то, что я хочу оптимально с точки зрения php программиста?
 

kruftin

Новичок
PHP:
$string = "@NAME: text";
preg_replace(/(@NAME:)\s*(\w+)$/,\section{$1 $2} ,$string); - второй из сайтов пишет что вот такое работает, но я так думаю это не тру.
Результат должен быть \section{@NAME: text}
Хотя рнр у меня на доллар ругается и не работает.
А вот если написать так
PHP:
preg_replace("/(@NAME:)\s*(\w+)/","\section{\\1 \\2}" ,$string);
ТО все работает. Ну и как мне обозначить в шаблоне что символы идут только до конца строки с помощью доллара(как доллар использовать)?
 

KolyaA

Новичок
Если тебе нужно найти/заменить именно это выражение, то зачем тебя регулярка?
 

KolyaA

Новичок
PHP:
$string = "@NAME: text";
preg_replace(/(@NAME:)\s*(\w+)$/,\section{$1 $2} ,$string); - второй из сайтов пишет что вот такое работает, но я так думаю это не тру.
Результат должен быть \section{@NAME: text}
Хотя рнр у меня на доллар ругается и не работает.
А вот если написать так
PHP:
preg_replace("/(@NAME:)\s*(\w+)/","\section{\\1 \\2}" ,$string);
ТО все работает. Ну и как мне обозначить в шаблоне что символы идут только до конца строки с помощью доллара(как доллар использовать)?
Не понятно, чем тебе не нравится без доллара. Ведь вставка доллара не даёт никаких ограничений, поиск и так ведётся до конца строки. Доллар бывает полезен, когда нужно указать на что-то находящееся именно в конце строки.
 
Сверху