Архив May, 2008

Вложенность в регулярных выражениях

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

Допустим, есть строка

CODE:
  1. begin someFunction("test"); end;

Нужно выделить из неё

CODE:
  1. ("test")

Элементарно

PHP:
  1. $s = 'begin someFunction("test"); end;';
  2. preg_match('#\(.*?\)#', $s, $m);
  3. print_r($m);

выведет

PHP:
  1. (
  2.     [0] => ("test")
  3. )

Но в боевых условиях пользователи обязательно рано или поздно добавят параметр со скобками

CODE:
  1. begin someFunction("test",(5+3)*2); end;

Читать полностью >>

5 комментариев

Страница 1 из 11