163 したがって、Javaの正規表現を使用して、パターンの前に特定の文字がない場合にのみ一致する正規表現を作成します。例えば: String s = "foobar barbar beachbar crowbar bar "; barの前にfooがない場合に一致させたい。したがって、出力は次のようになります。 barbar beachbar crowbar bar これはおそらく非常に単純な質問です。私は正規表現を学ぼうとしていますが、その間に私は今仕事をするために何かが必要です。 java regex — b3bop ソース
276 あなたはnegative lookbehindこのように使いたいです: \w*(?<!foo)bar ここ(?<!x)で、「この時点の前に "x"がない場合のみ」を意味します。 詳細については、正規表現-回避策を参照してください。 編集:を追加し\w*て、以前の文字をキャプチャします(例:「ビーチ」)。 — アダム・ローファー ソース 2 foo_arbitrary_barと一致しないようにするには、どのような変更が必要ですか?つまり、fooが直前のバーではない — Brad Kent 1 @BradKent (?<!foo).*barはそのようなものと一致すると思います。 — エミラー2018 @emyllerいいえ。これはfoobazbarと一致します(fooはfoobazbarの前に来ないため、一致します) — Brad Kent 2 @BradKent「not match」で「not」を読み取らなかったため、一致すると述べた。そのときあなたの事件は\b(?!foo)\w*bar\b私には似ている。 — エミラー2018 4 @BradKent次に、新しい質問をしたり、達成しようとしていることを詳細に説明したり、自分で見つけるまで正規表現で遊んだりすることができます。:) — エミラー2018