2010-08-10 3 views
0

Попытки преобразовать следующие два утверждения eregi их PREG аналоги:Преобразование eregi в preg_match - что такое Неизвестный модификатор 'F'?

eregi("/F \(([^)]*)\)",$In,$DataOut); 

eregi("/T \(([^)]*)\) /V \(([^)]*)\)",$In,$DataOut); 

Так что я попытался добавить в разделителях:

preg_match("//F \(([^)]*)\)/",$In,$DataOut); 

К сожалению, это не работает, и производит неизвестные ошибки модификаторов. Могу ли я получить помощь в отношении того, что могут быть в версиях предыдущих версий этих двух выражений?

+0

вы пробовали '"/\/F \ (([^)] *) \)/"'? – Diadistis

ответ

0

Да. Вы не можете использовать символ, который вы выбрали в качестве разделителя внутри своего регулярного выражения. Побег любое вхождение этого символа обратной косой черты (\):

preg_match("/\/F \(([^)]*)\)/",$In,$DataOut); 

Вы также можете выбрать любой другой разделитель. Если вы используете другой символ в качестве разделителя, вы не будете иметь, чтобы избежать / (так как это не разделитель):

preg_match("!/F \(([^)]*)\)!",$In,$DataOut); 
+0

хороший! благодаря! –

Смежные вопросы