ホームページ  >  記事  >  Java  >  Java で正規表現を使用してユーザー入力データ型を検索する

Java で正規表現を使用してユーザー入力データ型を検索する

WBOY
WBOY転載
2023-09-14 22:33:061147ブラウズ

Java で正規表現を使用してユーザー入力データ型を検索する

Java プログラミングでは、特に情報の承認や処理が必要なアプリケーションを作成する場合、クライアントが入力した情報の種類を判断することが一般的なタスクになります。正規表現は、文字列の設計を識別し、情報のカテゴリを計算するための効果的なツールです。この記事では、Java の標準式を使用してクライアントが入力した情報の種類を見つける独自の方法を検討します。

###文法###

Java の正規表現の言語構造は、java.util.regex パッケージに基づいています。正規表現の設計を処理し、調整操作を実行するための Design や Matcher などのクラスが提供されます。

用語説明

Java で正規表現を使用するには、まず Design クラスを使用して正規表現パターンを作成する必要があります。このパターンは、一致させる必要がある望ましいパターンを表します。正規表現でさまざまな定義済みの文字と演算子を使用してパターンを定義します。

設計が決定したら、設計上で matcher() ストラテジーを呼び出して Matcher 問題を作成します。 Matcher を使用すると、特定の入力文字列にデザインを適用し、調整された操作を実行できます。

方法 1

###アルゴリズム###

各データ型 (整数、浮動小数点数、文字列など) の正規表現パターンを作成します。

  • Pattern クラスを使用して、正規表現パターンをコンパイルします。

  • コンパイルされたパターンとユーザー入力文字列を使用して Matcher オブジェクトを作成します。

  • Matcher クラスのmatches() メソッドを使用して、入力文字列が特定のデータ型のパターンと一致するかどうかを確認します。

  • 一致するデータ型パターンが見つかるまで、このプロセスを繰り返します。

  • ###例### リーリー ###出力### リーリー

    説明

    の中国語訳は次のとおりです:
  • 説明

このアプローチでは、認識したいデータ型 (整数、浮動小数点、文字列) ごとに個別の正規表現パターンを作成します。これらのパターンは、Pattern クラスを使用してコンパイルされます。

次に、パターンごとに Matcher オブジェクトを比較し、顧客の入力文字列を各 Matcher に渡します。 matches() メソッドを使用して、入力文字列が特定のデータ型のパターンと一致するかどうかを確認します。

座標が見つかった場合は、比較情報をソートして出力します。それ以外の場合、座標が見つからない場合は、データ型を決定できないことを示すエラー メッセージが出力されます。

方法 2

###アルゴリズム###

OR (|) 演算子を使用して、すべてのデータ型のパターンを正規表現パターンに結合します。

Pattern クラスを使用してパターンをコンパイルします。

    コンパイルされたパターンとユーザー入力文字列を使用して Matcher オブジェクトを作成します。
  • Matcher クラスのmatches() メソッドを使用して、入力文字列がデータ型パターンに一致するかどうかを確認します。
  • ###例### リーリー ###出力### リーリー
  • 説明
  • の中国語訳は次のとおりです:

    説明

  • このアプローチでは、OR (|) 演算子を使用して、すべてのデータ型のパターンを組み合わせた単一の正規表現パターンを作成します。このようにして、任意のパターンをユーザーが入力した文字列と照合できます。
  • Design クラスを使用してデザインをコンパイルし、コンパイルされたデザインと顧客入力文字列を使用して Matcher オブジェクトを作成します。次に、Matcher オブジェクトのmatches() メソッドを使用して、入力文字列がデータ型パターンに一致するかどうかを確認します。

  • 座標が見つかった場合は、入力が認識された情報タイプであることを示すメッセージを出力します。さらに、座標が見つからない場合は、データ型を決定できないことを示すエラー メッセージが出力されます。

方法 3

###アルゴリズム###

正規表現パターンを作成して、各データ型に関連付けられた特定のパターンを確認します。

Pattern クラスを使用してパターンをコンパイルします。

Matcher クラスの find() メソッドを使用して、ユーザー入力文字列にデータ型パターンが存在するかどうかを確認します。

###例### リーリー ###出力### リーリー

説明

の中国語訳は次のとおりです:
    説明
  • このアプローチでは、データ型ごとに個別の正規表現パターンを作成し、Pattern クラスを使用してコンパイルします。

  • 次に、パターンごとに Matcher オブジェクトを比較し、顧客の入力文字列を各 Matcher に渡します。 matches() メソッドを使用する代わりに、Matcher クラスの find() メソッドを使用して、入力文字列内のデータ型パターンの存在を検索します。
  • 座標が見つかった場合は、入力に比較情報カテゴリが含まれていることを示すメッセージを出力します。データ順序付けデザインの座標が見つからない場合は、データ順序を決定できないことを示すエラー メッセージが出力されます。

  • 方法 4
  • ###アルゴリズム###

  • 正規表現パターンを作成して、各データ型に関連付けられた特定のパターンを確認します。

Pattern クラスを使用してパターンをコンパイルします。

Matcher クラスの find() メソッドを使用して、ユーザー入力文字列内の各データ型パターンの存在を検索します。

見つかったデータ型を変数に保存して、さらに処理します。

示例

import java.util.regex.*;

public class DataTypeFinder {
   public static void main(String[] args) {
      String userInput = "42.5"; // Example user input
        
      // Define regex pattern for each data type
      String integerPattern = "\d+";
      String floatPattern = "\d+\.\d+";
      String stringPattern = "[a-zA-Z]+";

      // Compile the patterns
      Pattern integerRegex = Pattern.compile(integerPattern);
      Pattern floatRegex = Pattern.compile(floatPattern);
      Pattern stringRegex = Pattern.compile(stringPattern);

      // Create Matcher objects for each pattern
      Matcher integerMatcher = integerRegex.matcher(userInput);
      Matcher floatMatcher = floatRegex.matcher(userInput);
      Matcher stringMatcher = stringRegex.matcher(userInput);

      // Check for matches and store the found data type
      String dataType = "";
      if (integerMatcher.find()) {
         dataType = "integer";
      }
      if (floatMatcher.find()) {
         dataType = "float";
      }
      if (stringMatcher.find()) {
         dataType = "string";
      }

      // Process the found data type
      if (!dataType.isEmpty()) {
         System.out.println("Input is of data type: " + dataType);
      } else {
         System.out.println("Unable to determine the data type.");
      }
   }
}

输出

Input is of data type: float

Explanation

的中文翻译为:

解释

在这种方法中,我们为每种数据类型创建单独的正则表达式模式,并使用 Pattern 类对其进行编译。

我们然后对每个模式进行Matcher对象的比较,将客户输入的字符串传递给每个matcher。再次使用Matcher类的find()方法来查找输入字符串中每个数据类型模式的存在。

在找到匹配项的情况下,我们将相应的数据类型存储在一个名为dataType的变量中。在处理完所有的模式后,我们检查dataType变量是否为空。如果不为空,我们打印一条消息显示找到的数据类型。如果dataType变量为空,我们打印一条错误消息,显示无法确定数据类型。

结论

决定客户端输入的信息类型是许多 Java 应用程序的一个重要方面。正则表达式提供了一种强大的方法来识别字符串中的模式并有效地确定数据类型。在本文中,我们探索了使用 Java 中的正则表达式查找用户输入的数据类型的不同方法。

以上がJava で正規表現を使用してユーザー入力データ型を検索するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。