ホームページ > データベース > mysql チュートリアル > 正規表現を使用して Java で SQL のような「LIKE」演算子を実装するにはどうすればよいですか?

正規表現を使用して Java で SQL のような「LIKE」演算子を実装するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-20 22:22:11
オリジナル
528 人が閲覧しました

How Can I Implement an SQL-LIKE 'LIKE' Operator in Java Using Regular Expressions?

Java で SQL のような 'LIKE' 演算子を実装する

Java で、SQL 'LIKE と同じセマンティクスを持つコンパレータを実装する' 演算子は正規表現を使用して実現できます。正規表現は、文字パターンを照合する強力な方法を提供します。

正規表現を使用したコンパレータの作成

「LIKE」演算子のように動作するコンパレータを作成するには、次のようにします。次の構文を使用します:

public static boolean like(String str, String pattern) {
  Pattern p = Pattern.compile(pattern);
  Matcher m = p.matcher(str);
  return m.matches();
}
ログイン後にコピー

指定したものに対して正規表現がどのように機能するかは次のとおりです。例:

  • %ital% は、その中に「ital」を含む任意の文字列と一致します。
  • %gi?a% は、「gi」の後に任意の 1 文字が続き、その後に続く任意の文字列と一致します。 "a" によって、その中の任意の場所。
  • digi% は、次で始まる任意の文字列に一致します。 "digi".

評価例

同様の方法を使用して、次のように指定した条件を評価できます。

  • like("digital", "%ital%") は、"digital" に次のものが含まれるため、true と評価されます。 "ital".
  • like("digital", "%gi?a%") は、"digital" に "gia" が含まれているため true と評価されます。
  • like("digital", "digi 「digital」が「digi」で始まるため、%") は true と評価されます。
  • like("digital", "�m%") は、「digital」がそうでないため false と評価されます。 "cam" が含まれています。
  • like("digital", "tal%") は、"digital" が "tal" で始まっていないため false と評価されます。

マッチング文字とドット

正規表現の場合:

  • .*任意の数の任意の文字に一致します。
  • 実際のドットと一致するには、..
としてエスケープします。

以上が正規表現を使用して Java で SQL のような「LIKE」演算子を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート