что не так с моим preg_match?
preg_match('numVar("XYZ-(.*)");',$var,$results);
Я хочу получить все CONTENT отсюда:
numVar ("XYZ- CONTENT ");
Спасибо за любую помощь!
Я предполагаю, что это PHP?В этом случае у вашего кода есть три проблемы:
/
(
numVar("XYZ-CONTENT1");numVar("XYZ-CONTENT2");
CONTENT1");numVar("XYZ-CONTENT2
Попробуйте это:
$var = 'numVar("XYZ-CONTENT");'; preg_match('/numVar\("XYZ-(.*?)"\);/',$var,$results); var_dump($results);
Вставьте пример строки в http://txt2re.com и посмотрите на результат PHP.
Это покажет, что вам нужно экранировать символы, которые имеют особое значение для движка регулярных выражений (например, скобки).
preg_match("/XYZ\-(.+)\b/", $string, $result); print_r($result[0]); // full matches ie XYZ-CONTENT print_r($result[1]); // matches in the first paren set (.*)
Вы должны избежать некоторых символов:
preg_match('numVar\("XYZ-(.*)"\);',$var,$results);