>Java >java지도 시간 >Java에서 정규식을 사용하여 사용자 입력 데이터 유형 찾기

Java에서 정규식을 사용하여 사용자 입력 데이터 유형 찾기

WBOY
WBOY앞으로
2023-09-14 22:33:061189검색

Java에서 정규식을 사용하여 사용자 입력 데이터 유형 찾기

Java 프로그래밍에서는 클라이언트가 입력한 정보 유형을 결정하는 것이 일반적인 작업일 수 있으며, 특히 정보 승인이나 처리가 필요한 애플리케이션을 만들 때 더욱 그렇습니다. 정규식 또는 정규식은 문자열 디자인을 식별하고 정보 범주를 계산하는 데 효과적인 도구입니다. 이 기사에서는 클라이언트가 입력한 정보 유형을 찾기 위해 Java의 표준 표현식을 사용하는 고유한 방법을 조사합니다.

문법

Java 정규식의 언어 구조는 java.util.regex 패키지를 기반으로 합니다. 정규식 디자인을 처리하고 조정 작업을 수행하기 위해 Design 및 Matcher와 같은 클래스를 제공합니다.

문법 지침

Java에서 정규식을 사용하려면 먼저 Design 클래스를 사용하여 정규식 패턴을 만들어야 합니다. 이 패턴은 우리가 일치시켜야 하는 원하는 패턴을 나타냅니다. 패턴을 정의하기 위해 정규식에 미리 정의된 다양한 문자와 연산자를 사용할 것입니다.

디자인이 결정되면 디자인에 대해 matcher() 전략을 호출하여 Matcher 문제를 생성합니다. Matcher를 사용하면 특정 입력 문자열에 디자인을 적용하고 조정된 작업을 수행할 수 있습니다.

방법 1

알고리즘

  • 모든 데이터 유형(예: 정수, 부동 소수점, 문자열 등)에 대한 정규식 패턴을 만듭니다.

  • 정규식 패턴을 컴파일하려면 Pattern 클래스를 사용하세요.

  • 컴파일된 패턴과 사용자 입력 문자열을 사용하여 Matcher 개체를 만듭니다.

  • Matcher 클래스의 match() 메서드를 사용하여 입력 문자열이 특정 데이터 유형의 패턴과 일치하는지 확인합니다.

  • 일치하는 데이터 유형 패턴을 찾을 때까지 이 과정을 반복하세요.

으아아아

출력

으아아아

Explanation

의 중국어 번역은

Explanation

입니다.

이 접근 방식에서는 인식하려는 각 데이터 유형(정수, 부동 소수점, 문자열)에 대해 별도의 정규식 패턴을 만듭니다. 이러한 패턴은 Pattern 클래스를 사용하여 컴파일됩니다.

그런 다음 각 패턴에 대해 Matcher 개체를 비교하여 고객 입력 문자열을 각 Matcher에 전달합니다. match() 메소드를 사용하여 입력 문자열이 특정 데이터 유형의 패턴과 일치하는지 확인합니다.

좌표가 발견되면 비교정보를 정렬하여 인쇄합니다. 그렇지 않고 좌표를 찾을 수 없으면 데이터 유형을 결정할 수 없다는 오류 메시지를 인쇄합니다.

방법 2

알고리즘

  • 모든 데이터 유형의 패턴을 하나의 정규식 패턴으로 결합하려면 OR(|) 연산자를 사용하세요.

  • 패턴 클래스 컴파일 모드를 사용하세요.

  • 컴파일된 패턴과 사용자 입력 문자열을 사용하여 Matcher 개체를 만듭니다.

  • Matcher 클래스의 match() 메서드를 사용하여 입력 문자열이 데이터 유형 패턴과 일치하는지 확인합니다.

으아아아

출력

으아아아

Explanation

의 중국어 번역은

Explanation

입니다.

이 방법에서는 OR(|) 연산자를 사용하여 모든 데이터 유형의 패턴을 결합하는 단일 정규식 패턴을 만듭니다. 이런 방식으로 우리는 사용자가 입력한 문자열과 어떤 패턴이든 일치시킬 수 있습니다.

Design 클래스를 사용하여 디자인을 컴파일하고 컴파일된 디자인과 고객 입력 문자열을 사용하여 Matcher 개체를 만듭니다. 그런 다음 Matcher 객체의 match() 메서드를 사용하여 입력 문자열이 데이터 유형 패턴과 일치하는지 확인합니다.

좌표가 발견되면 입력이 인식된 정보 유형임을 나타내는 메시지를 인쇄합니다. 또한 좌표를 찾을 수 없으면 데이터 유형을 확인할 수 없다는 오류 메시지가 인쇄됩니다.

방법 3

알고리즘

  • 정규식 패턴을 만들어 각 데이터 유형과 관련된 특정 패턴을 확인하세요.

  • 패턴 클래스 컴파일 모드를 사용하세요.

  • Matcher 클래스의 find() 메서드를 사용하여 사용자 입력 문자열에 데이터 유형 패턴이 있는지 확인하세요.

으아아아

출력

으아아아

Explanation

의 중국어 번역은

Explanation

입니다.

이 접근 방식에서는 각 데이터 유형에 대해 별도의 정규식 패턴을 만들고 Pattern 클래스를 사용하여 컴파일합니다.

그런 다음 각 패턴에 대해 Matcher 개체를 비교하여 고객 입력 문자열을 각 Matcher에 전달합니다. match() 메소드를 사용하는 대신 Matcher 클래스의 find() 메소드를 사용하여 입력 문자열에서 데이터 유형 패턴의 존재를 찾습니다.

좌표가 발견되면 입력에 비교 정보 카테고리가 포함되어 있음을 나타내는 메시지가 인쇄됩니다. 데이터 순서 디자인에 대한 좌표가 발견되지 않으면 데이터 순서를 결정할 수 없다는 오류 메시지가 인쇄됩니다.

방법 4

알고리즘

  • 정규식 패턴을 만들어 각 데이터 유형과 관련된 특정 패턴을 확인하세요.

  • 패턴 클래스 컴파일 모드를 사용하세요.

  • 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제