私は制御されたスクリプトの状況でpreg-replaceでunnessaryコメントを削除しようとしていますが、正規表現が正しくありません。誰でも私の正規表現で何が問題なの? (私は前にApache/2.0.54 & PHP/5.2.9PHP関数preg_replace regexが動作しない、構文の質問
を持っている:
// Bla Bli Blue Blow Bell Billy Bow Bye
script var etc(); // cangaroo cognac codified cilly celine cocktail couplet
script http://blaa.org // you get the idea!
後:
script var etc();
script http://blaa.org
問題:どのような正規表現を使用する
# when comment starts on a new line, delete this entire line
# find [a new line] [//] [space or no space] [comment]
$buffer = preg_replace('??', '??', $buffer);
# when comment is halfway in script ( // comment)
# find [not beginning of a line] [1 TAB] [//] [1 space again] [comment]
$buffer = preg_replace('??', '??', $buffer);
?すべてとすべての提案は、私は、この謎を解決するために近づいてくれるので、私には+1を評価されます
正規表現の代わりに適切なトークナイザを使用したことはありますか?コメントトークンだけをスローすることができます。 – cdhowie
複数行コメントはどうですか?特にネストされた複数行のコメント?これはあまりにも些細な正規表現ではありませんが、トークナイザにとっては些細なことです。/ *これは/ *ネストされたコメントです*/ –
コメントを一貫して書くことは、このような奇妙なことのためのスペースがないことを意味します。それにもかかわらず、そのような一貫性のある講義は非常に能力のないプログラマーの口から来ているというのは皮肉なことです。 – Sam