ホームページ >Java >&#&チュートリアル >Java 正規表現を使用して、特定の文字が前にないパターンを照合するにはどうすればよいですか?

Java 正規表現を使用して、特定の文字が前にないパターンを照合するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-08 21:24:22511ブラウズ

How Can I Use Java Regular Expressions to Match Patterns Not Preceded by Specific Characters?

正規表現を使用した、特定の文字が前にないパターンのマッチング

Java では、正規表現によって強力なパターン マッチング機能が提供されます。特定のタスクの 1 つは、指定された文字が前にない場合にのみパターンを照合することです。

これを実現するには、負の後読みを使用できます。否定後読みでは構文 (?

例:

を検討してください。文字列:

String s = "foobar barbar beachbar crowbar bar ";

「bar」の前にない場合にのみ「bar」と一致します。 "foo" の場合は、次の正規表現を使用します:

\w*(?<!foo)bar

その仕組みは次のとおりです:

  • w*: 任意の数の単語文字 (アルファベット) をキャプチャします、数字、またはアンダースコア) の前に"bar."
  • (? 文字 "foo" が直前に存在しないことを保証する負の後読み"bar."

出力:

barbar
beachbar
crowbar
bar

補足:

" より前の文字をキャプチャするにはbar" (例: "beach")、キャプチャする前に w* を追加します「バー」:

\w*(?<!foo)\w*bar

以上がJava 正規表現を使用して、特定の文字が前にないパターンを照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。