手动阀

Good Luck To You!

java正则表达式 Java 正则表达式详解

Java 正则表达式(Regular Expressions)是一种强大的工具,用于匹配和操作字符串,Java 提供了java.util.regex 包来处理正则表达式,以下是 Java 正则表达式的详解:

基本概念

Pattern: 表示编译后的正则表达式。

Matcher: 用于执行匹配操作的引擎。

2. 创建 Pattern 和 Matcher

import java.util.regex.*;
public class RegexExample {
    public static void main(String[] args) {
        // 定义一个正则表达式
        String regex = "\\d+"; // 匹配一个或多个数字
        
        // 编译正则表达式
        Pattern pattern = Pattern.compile(regex);
        
        // 要匹配的字符串
        String input = "There are 123 apples and 456 oranges.";
        
        // 创建 Matcher 对象
        Matcher matcher = pattern.matcher(input);
        
        // 查找匹配项
        while (matcher.find()) {
            System.out.println("Found a match: " + matcher.group());
        }
    }
}

常用方法

Pattern 类的方法

static Pattern compile(String regex): 编译给定的正则表达式并创建一个模式对象。

Matcher matcher(CharSequence input): 创建一个匹配器,该匹配器将输入与模式进行匹配。

Matcher 类的方法

boolean find(): 尝试找到下一个匹配的子序列。

boolean matches(): 尝试将整个区域与模式匹配。

String group(): 返回上一个匹配操作所匹配的输入子序列。

int start(): 返回上一个匹配操作所匹配的子序列的起始索引。

int end(): 返回上一个匹配操作所匹配的子序列的结束索引。

常用的正则表达式符号

.: 匹配任意单个字符(除换行符)。

: 匹配前面的子表达式零次或多次。

+: 匹配前面的子表达式一次或多次。

?: 匹配前面的子表达式零次或一次。

\d: 匹配一个数字字符。

\w: 匹配一个单词字符(字母、数字或下划线)。

\s: 匹配一个空白字符(空格、制表符等)。

^: 匹配输入字符串的开始位置。

$: 匹配输入字符串的结束位置。

[...]: 匹配方括号内的任意一个字符。

|: 逻辑或,匹配左右任意一个表达式。

(): 分组,捕获组。

示例代码

匹配邮箱地址

import java.util.regex.*;
public class EmailRegexExample {
    public static void main(String[] args) {
        String emailRegex = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}";
        Pattern pattern = Pattern.compile(emailRegex);
        String input = "Contact us at support@example.com or sales@example.org";
        Matcher matcher = pattern.matcher(input);
        
        while (matcher.find()) {
            System.out.println("Found an email: " + matcher.group());
        }
    }
}

替换字符串中的部分内容

import java.util.regex.*;
public class ReplaceExample {
    public static void main(String[] args) {
        String input = "The price is $100.";
        String regex = "\\$\\d+";
        String replacement = "$200";
        
        String result = input.replaceAll(regex, replacement);
        System.out.println(result); // The price is $200.
    }
}

Java 正则表达式通过PatternMatcher 类提供了强大的字符串匹配和操作功能,掌握这些基本概念和方法,可以有效地处理各种字符串操作需求。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.