자세한 설명 및 사용법: Java 정규식 분석

WBOY
풀어 주다: 2024-01-09 10:54:33
원래의
1010명이 탐색했습니다.

자세한 설명 및 사용법: Java 정규식 분석

Java 정규식에 대한 자세한 설명 및 사용법

정규식(Regular Expression)은 다양한 프로그래밍 언어에서 널리 사용되는 강력한 텍스트 처리 도구입니다. Java에서는 정규식을 사용하여 문자열 일치, 교체, 분할 및 기타 작업을 수행할 수 있습니다. 이 기사에서는 Java 정규식의 사용을 자세히 소개하고 구체적인 코드 예제를 제공합니다.

  1. 정규 표현식 구문

Java의 정규 표현식 구문은 표준 정규 표현식 구문과 일치합니다. 다음은 일반적으로 사용되는 정규식 메타 문자와 그 의미입니다.

  • d: 모든 숫자와 일치합니다.
  • D: 숫자가 아닌 문자와 일치합니다.
  • w: 문자, 숫자 또는 밑줄과 일치합니다.
  • W: 문자가 아닌 숫자, 밑줄 문자와 일치합니다.
  • s: 공백, 탭, 개행 등을 포함한 모든 공백 문자와 일치합니다.
  • S: 공백이 아닌 문자와 일치합니다.
  • : 단어 경계를 일치시킵니다.
  • ^: 문자열의 시작 위치를 일치시킵니다.
  • $: 문자열의 끝 위치를 일치시킵니다.
  • .: 모든 문자와 일치합니다.
  • *: 0개 이상의 이전 요소와 일치합니다.
  • +: 하나 이상의 이전 요소를 일치시킵니다.
  • ?: 0개 또는 1개의 이전 요소와 일치합니다.
  • {n}: 이전 요소를 정확히 n번 일치시킵니다.
  • {n,}: 이전 요소를 n번 이상 일치시킵니다.
  • {n,m}: 이전 요소를 최소 n회, 최대 m회 일치시킵니다.
  • [...]: 대괄호 안의 문자를 일치시킵니다.
  • 1: 대괄호 안의 문자를 제외한 모든 문자와 일치합니다.

특정 요구 사항에 따라 유연하게 사용할 수 있는 다른 메타 문자와 문법 규칙이 많이 있습니다.

  1. Pattern Class

Java에서 Pattern 클래스는 정규 표현식의 컴파일된 표현입니다. Pattern 클래스에서 제공하는 정적 메서드compile()를 통해 정규식 문자열을 컴파일하고 Pattern 개체를 생성할 수 있습니다. 예:compile()来编译正则表达式字符串,生成一个Pattern对象。例如:

String regex = "\d+"; Pattern pattern = Pattern.compile(regex);
로그인 후 복사
  1. Matcher类

Matcher类是所有正则表达式匹配操作的引擎。我们可以通过Pattern对象的matcher()方法来创建一个Matcher对象。

  • matches()方法:用于测试正则表达式是否匹配整个字符串。例如:
String regex = "hello"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("hello world"); boolean matched = matcher.matches(); System.out.println(matched); // 输出:true
로그인 후 복사
  • find()方法:用于查找字符串中与正则表达式匹配的子序列。例如:
String regex = "\d+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("abc123def"); while (matcher.find()) { System.out.println(matcher.group()); }
로그인 후 복사

以上代码输出结果为:

123
로그인 후 복사
  • replaceAll()
    String regex = "\btom\b"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher("I love tom and tom loves me"); String result = matcher.replaceAll("Jerry"); System.out.println(result); // 输出:I love Jerry and Jerry loves me
    로그인 후 복사
      Matcher 클래스
  1. Matcher 클래스는 모든 정규식 일치 작업을 위한 엔진입니다. Pattern 객체의matcher()메소드를 통해 Matcher 객체를 생성할 수 있습니다.

matches()메서드: 정규식이 전체 문자열과 일치하는지 테스트하는 데 사용됩니다. 예:

    String regex = "^1[3-9]\d{9}$"; Pattern pattern = Pattern.compile(regex); String phone = "13612345678"; boolean isValid = pattern.matcher(phone).matches(); System.out.println(isValid); // 输出:true
    로그인 후 복사
  • find()메서드: 문자열에서 정규식과 일치하는 하위 시퀀스를 찾는 데 사용됩니다. 예:
    String regex = ""; Pattern pattern = Pattern.compile(regex); String html = "Example"; Matcher matcher = pattern.matcher(html); while (matcher.find()) { System.out.println(matcher.group(1)); }
    로그인 후 복사
  • 위 코드의 출력 결과는 다음과 같습니다.
  • http://www.example.com
    로그인 후 복사

replaceAll()메서드: 정규식과 일치하는 문자열 부분을 바꾸는 데 사용됩니다. 예:

    String regex = "\b\w+\b"; Pattern pattern = Pattern.compile(regex); String text = "Hello world, I love Java!"; Matcher matcher = pattern.matcher(text); List words = new ArrayList<>(); while (matcher.find()) { words.add(matcher.group()); } System.out.println(words);
    로그인 후 복사
  • 특정 예

다음은 정규식 및 해당 코드 예를 사용하는 몇 가지 일반적인 시나리오입니다.


휴대폰 번호가 합법적인지 확인하세요.
    [Hello, world, I, love, Java]
    로그인 후 복사
  1. HTML 텍스트에서 링크 추출 :
  2. rrreee위 코드의 출력 결과는 다음과 같습니다. rrreee문자열을 단어 목록으로 분할합니다. rrreee위 코드의 출력 결과는 다음과 같습니다. rrreee요약: 이 글에서는 사용법을 소개합니다. Java 정규식에 대해 자세히 설명하고 구체적인 코드 예제도 제공합니다. 정규식의 구문과 Pattern 및 Matcher 클래스의 사용법을 학습함으로써 정규식을 유연하게 사용하여 문자열을 처리할 수 있습니다. 이 기사가 Java 정규식을 이해하고 사용하는 데 도움이 되기를 바랍니다. ... ↩

    위 내용은 자세한 설명 및 사용법: Java 정규식 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!