Java 정규식 예제 튜토리얼
정규식(정규식)은 문자열 일치를 위한 강력한 도구로, 신속하게 검색, 일치, 바꾸기, 추출 및 기타 작업을 수행할 수 있습니다. Java 개발에서 정규식은 문자열 처리, 양식 유효성 검사, 데이터 추출 및 기타 분야에서 널리 사용됩니다.
이 기사에서는 몇 가지 특정 코드 예제를 통해 Java에서 정규식 사용을 이해하도록 안내합니다.
먼저 문자열이 정규식 규칙을 준수하는지 확인하는 간단한 예를 살펴보겠습니다. 다음 코드는 일치 판단을 위해 Java에서 정규식을 사용하는 방법을 보여줍니다.
import java.util.regex.Pattern; import java.util.regex.Matcher; public class RegexExample { public static void main(String[] args) { String regex = "\d+"; // 匹配数字的正则表达式 String text = "12345"; // 使用Pattern类和Matcher类进行匹配判断 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); if (matcher.matches()) { System.out.println("字符串匹配成功"); } else { System.out.println("字符串匹配失败"); } } }
위 코드는 먼저 숫자와 일치하는 정규식 d+
를 정의한 다음 패턴의 compile<을 사용합니다. class /code> 메소드는 Pattern 객체로 컴파일됩니다. 다음으로 Pattern 개체를 통해 Matcher 개체를 만들고 <code>matches
메서드를 사용하여 일치 항목을 확인합니다. 일치가 성공하면 "문자열 일치 성공"을 인쇄하고, 그렇지 않으면 "문자열 일치 실패"를 인쇄합니다. d+
,然后使用Pattern类的compile
方法编译成Pattern对象。接着,通过Pattern对象创建Matcher对象,并使用matches
方法进行匹配判断。如果匹配成功,打印“字符串匹配成功”,否则打印“字符串匹配失败”。
除了判断是否匹配,正则表达式还可以用于查找与提取符合规则的子字符串。以下代码演示了如何使用正则表达式在文本中查找与提取URL链接:
import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.List; import java.util.ArrayList; public class RegexExample { public static void main(String[] args) { String regex = "https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"; // 匹配URL链接的正则表达式 String text = "Visit my website at https://www.example.com"; // 使用Pattern类和Matcher类进行查找和提取 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); List<String> urls = new ArrayList<>(); while (matcher.find()) { String url = matcher.group(); urls.add(url); } System.out.println("找到以下URL链接:"); for (String url : urls) { System.out.println(url); } } }
以上代码使用了一个匹配URL链接的正则表达式 https?://([w-]+.)+[w-]+(/[w-./?%&=]*)?
,然后使用Matcher类的find
方法查找与提取符合正则表达式的子字符串。每次找到匹配的子字符串后,将其添加到列表中,最后打印出所有找到的URL链接。
除了查找与提取,正则表达式还可以用于替换和分割字符串。以下代码演示了如何使用正则表达式替换文本中的敏感词,并使用正则表达式分割句子:
import java.util.regex.Pattern; public class RegexExample { public static void main(String[] args) { String regex = "badword1|badword2"; // 匹配敏感词的正则表达式 String text = "This is a badword1 and badword2 example"; // 使用正则表达式进行替换 String replacedText = text.replaceAll(regex, "***"); System.out.println("替换后的文本:" + replacedText); // 使用正则表达式进行分割 String[] sentences = text.split("[.!?]"); System.out.println("分割后的句子:"); for (String sentence : sentences) { System.out.println(sentence.trim()); } } }
以上代码首先定义了一个匹配敏感词的正则表达式 badword1|badword2
,然后使用replaceAll
方法进行替换操作。将文本中的敏感词替换为***
,并打印替换后的文本。
接着,使用split
方法和正则表达式 [.!?]
https?://([w-]+.)+ [와 일치하는 정규식을 사용합니다. w-]+(/[w-./?%&=]*)?
를 사용한 다음 Matcher 클래스의 find
메서드를 사용하여 일반 문자열과 일치하는 하위 문자열을 찾아 추출합니다. 표현 . 일치하는 하위 문자열이 발견될 때마다 목록에 추가되고 마지막으로 발견된 모든 URL이 인쇄됩니다. 🎜badword1|badword2
와 일치하는 정규식을 정의합니다. 그런 다음 replaceAll
메서드를 사용하여 교체 작업을 수행합니다. 텍스트의 중요한 단어를 ***
로 바꾸고 교체된 텍스트를 인쇄합니다. 🎜🎜다음으로 split
메서드와 정규식 [.!?]
를 사용하여 분할 작업을 수행하고 문장 부호를 기준으로 텍스트를 여러 문장으로 분할한 후 각 문장을 인쇄합니다. 문장 . 🎜🎜위는 Java 정규식에 대한 예제 튜토리얼입니다. 구체적인 코드 예제를 통해 정규식의 기본 사용법을 소개합니다. Java 개발에서 정규식의 적용을 이해하고 익히는 데 도움이 되기를 바랍니다. 🎜위 내용은 Java 정규식 학습을 위한 샘플 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!