Java 正在表达式在线

正则表达式是一种强大的文本匹配工具,它可以用来快速查找、替换和匹配字符串。在Java中,我们可以使用java.util.regex包来实现正则表达式的功能。本文将介绍Java中正则表达式的基本语法和常见用法,并通过代码示例来演示如何使用正则表达式进行字符串匹配。

正则表达式的基本语法

在Java中,正则表达式的基本语法如下:

  • .: 匹配任意字符
  • []: 匹配指定范围内的字符
  • ^: 匹配字符串的开始位置
  • $: 匹配字符串的结束位置
  • *: 匹配前一个字符0次或多次
  • +: 匹配前一个字符1次或多次
  • ?: 匹配前一个字符0次或1次
  • \d: 匹配数字
  • \w: 匹配字母、数字、下划线
  • \s: 匹配空白字符

Java中的正则表达式

在Java中,我们可以使用java.util.regex包中的PatternMatcher类来实现正则表达式的匹配。下面是一个简单的示例代码:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexExample {
    public static void main(String[] args) {
        String input = "Hello, Java!";
        String pattern = "Java";
        
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(input);
        
        if (m.find()) {
            System.out.println("Pattern found in input!");
        } else {
            System.out.println("Pattern not found in input!");
        }
    }
}

在上面的示例中,我们首先使用Pattern.compile()方法编译正则表达式,然后使用Matcher.find()方法在输入字符串中查找匹配的模式。如果找到了匹配的模式,就会输出Pattern found in input!

常见用法示例

邮箱验证

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class EmailValidator {
    public static void main(String[] args) {
        String email = "example@example.com";
        String pattern = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";
        
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(email);
        
        if (m.matches()) {
            System.out.println("Valid email address!");
        } else {
            System.out.println("Invalid email address!");
        }
    }
}

电话号码验证

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class PhoneValidator {
    public static void main(String[] args) {
        String phone = "123-456-7890";
        String pattern = "^\\d{3}-\\d{3}-\\d{4}$";
        
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(phone);
        
        if (m.matches()) {
            System.out.println("Valid phone number!");
        } else {
            System.out.println("Invalid phone number!");
        }
    }
}

状态图

stateDiagram
    [*] --> Valid
    Valid --> Invalid
    Invalid --> Valid
    Invalid --> [*]

旅行图

journey
    title Java正则表达式之旅
    section 登录
        [*] --> 输入用户名
        输入用户名 --> 输入密码
        输入密码 --> 验证
        验证 --> 登录成功
        登录成功 --> [*]
    
    section 注册
        [*] --> 输入邮箱
        输入邮箱 --> 输入密码
        输入密码 --> 输入确认密码
        输入确认密码 --> 验证
        验证 --> 注册成功
        注册成功 --> [*]

通过本文的介绍,相信读者已经对Java中正则表达式的基本语法和常见用法有了一定的了解。在实际开发中,掌握正则表达式可以帮助我们更高效地处理字符串匹配问题。希望本文能对您有所帮助,谢谢阅读!