2017-05-10 4 views
0

で始まらない行のみを一致させることができますどのように、
私の問題は、(ラインもの/ slash-で始まる)例えばは、私は、コードの行に一致するようにしようとしている

コメントを無視することです。

この文字列で
/(\w+)(?:\s|\t)(?:\=)(?:\s|\t)+/g 

TEST1 = "B" TEST2 = "D" // TEST3 = "DSF"

Shoul返すdは:

test1 
test2 

私の現在のパターンを、当然リターンの:

test1 
test2 
test3 

私は(?<!を認識してんだけど、私はJavaScriptを使用しているので、それは私のために動作しません。およそ(?!私は戻ります

+0

入力行を1行ずつ見て、コメントに一致しない行を探すことはできないでしょうか?いくつかの正規表現エンジンは "逆マッチ"をサポートしています。私の頭の上には、PythonやC#のどちらもありません。 –

+1

コード行は通常の言語ではありません。正規表現は、それらを解析するための貧弱な選択肢です。代わりに、実際のパーサを構築することを検討してください - それはもっと威圧的かもしれませんが、 'test1 ="それは壊れるでしょうか?//多分。 " –

答えて

0

...

['test1="b"','test2="d"'] 

を次にあなたはさらに行くことができる可能性があり^を行頭アンカー(m修飾子付き)として使用し、行の先頭に\wが必要な場合は、行が一致しません。あなたはまだ行の先頭にいくつかの空白のために可能性があります:

^\s*(\w+)\s*\= 

NB:\tはすでに\sで一致しているので、\s|\tを行う必要はありません。

0
output=input.split("\n").map(line=>line.split("//")[0]); 

(私が間違っているなら、私を修正)、それは同じ使用のためではないと信じて:あなたは

関連する問題