Подскажите самый правильный и 100%-но рабочий паттерн для нахождения комментов (однострочные (//) и многострочные (/**/)). Комменты могут быть например и такими: Code: /* /* /* */ или Code: // /* */ */ Код тоже может содержать что-то вроде Code: $a = '/* 123'; $b = '*/'; $c = '//'; $d = '/**/'; Комменты также могут быть в любом месте, то есть например Code: $a = 123; /* lol */ $b = 321; // hahaha /**/
|qbz| под какие исходники, если PHP - то в нем есть встроенный токенайзер - http://php.net/token_get_all Не пытайтесь сделать это с помощью регулярных выражений, под все языки программирования уже существуют свои токенизаторы.
#!/usr/bin/perl $_=q~$a = '/* 123'; $b = '*/'; $c = '//'; $d = '/**/'; $a = 123; /* lol */ $b = 321; // hahaha /**/~; s|'/\*||g; s|'\*/||g; s|\*/'||g; s|'//'||g; s|||g; /.*\/\//; $u=$'; /(\/\*.*?\*\/)/g; $_= "$& $u"; print;
miltorg после того как умные люди сказали что в каждом языке есть встроенный токенайзер я думаю было глупо выложить код с использованием регексп =)