私は本当に単語を見つける正規表現を作成するのに苦労していますが、それが入っている行が始まっていない場合にのみ - 。例えば正規表現を見つける正規表現
:単語の
ルック:
-- check if //should not match
-- more random words if //should not match
check if //should match
場合、私は次のように負のlookbehindsを使用して試してみました:
(?<!-- .*)\bif\b
しかし、私はJAVAを使用していますし、また、私が使用することはできませんlookbehindsの量子。私は
(?<! --)\bif\b
をしようとした場合
は、それは私がSKIPとFの使用を見つけた
-- if \\works
-- if \\does not work
の作業を行いますが、JAVA、これらの2つに応えるいないようです。
私はこれにどのように対処できますか?
ありがとうございます!
'!line.startsWith(" - ")&& line.matches(" \\ bif \\ b ")'の何が問題なのですか?あなたは正規表現ですべてをやらなければならないと主張することによって、すべてをより複雑にする良い理由はありますか? – ajb
こんにちは@ajb、私は一致する複数の単語を持つ複数行のテキストを持っています。私はすでに私が一致する必要があるすべての単語をループするループを持っています。私はtext.replaceallを使用しているので、\ nでテキスト全体を分割して各行を繰り返し処理する必要はなく、一致する必要のある各キーワードを繰り返し処理します。 –
@Takeshi ajbのコメントはAFAIKのスポットです。あなたが必要とする正規表現は複雑になるでしょうが、Javaの文字列操作を使用するのは簡単で維持しやすいでしょう。 –