Java matches类,Pattern类及matcher类用法示例

Java中的matchesPatternMatcher类一起可以实现Java中正则表达式的匹配操作。

  • matches类是String类的一种方法,在Java中用于测试字符串是否与指定的正则表达式匹配。如果匹配则返回true,否则返回false

  • Pattern类是Java中正则表达式的编译表示。可以把一个正则表达式编译成Pattern对象,然后可以使用Pattern对象去创建Matcher对象。

  • Matcher类是正则表达式的匹配器,用于匹配和解释正则表达式。它可以对输入的字符串进行正则表达式匹配,并且提供了大量的字符串操作方法。

下面是一个实例:

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

public class JavaMatchesExample {
    public static void main(String[] args) {
        String pattern = "^[a-zA-Z0-9]+$";// 匹配字母或数字
        String s1 = "hello";
        String s2 = "Hello123";
        String s3 = "He#lo123";

        // 使用matches方法,测试是否匹配(pattern与s1)
        System.out.println(s1.matches(pattern)); // true
        System.out.println(s2.matches(pattern)); // true
        System.out.println(s3.matches(pattern)); // false

        // 使用 Pattern 和 Matcher,测试是否匹配(pattern与s3)
        Pattern p = Pattern.compile(pattern);
        Matcher m = p.matcher(s3);
        System.out.println(m.matches()); // false
    }
}

上述代码片段中,我们创建了一个pattern变量,它是一个正则表达式^[a-zA-Z0-9]+$,用来匹配字母或数字。我们定义了三个字符串s1s2s3,然后使用matches方法测试它们是否与正则表达式匹配。最后,我们使用PatternMatcher来测试字符串s3是否匹配正则表达式。

以下是另一个使用示例:

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

public class PhoneValidator {

    private Pattern pattern;
    private Matcher matcher;

    private static final String PHONE_REGEX =
            "\\d{3}-\\d{7}";

    public PhoneValidator() {
        pattern = Pattern.compile(PHONE_REGEX);
    }

    public boolean validate(final String phone) {
        matcher = pattern.matcher(phone);
        return matcher.matches();
    }

    public static void main(String[] args) {
        PhoneValidator pv = new PhoneValidator();
        String phoneNumber = "123-1234567";
        if(pv.validate(phoneNumber)) {
            System.out.println("Phone number " + phoneNumber + " is valid");
        } else {
            System.out.println("Phone number " + phoneNumber + " is invalid");
        }
    }
}

以上代码是验证电话号码的示例。在PhoneValidator类中,我们定义了一个常量字符串PHONE_REGEX,它是一个正则表达式,用来匹配符合指定格式(xxx-xxxxxxx)的电话号码。然后我们通过Pattern.compile方法编译正则表达式,生成一个Pattern对象。接下来,我们定义了一个方法validate,用来验证输入的电话号码是否符合指定格式。最后,我们使用validate方法验证电话号码123-1234567是否符合指定格式。

通过以上两个示例,可以看出matchesPatternMatcher类的使用方法和特点。matches方法是最简单的正则表达式匹配方法,而PatternMatcher类可以实现更加灵活的正则表达式操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java matches类,Pattern类及matcher类用法示例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 扩展JavaScript功能的正确方法(译文)

    首先需要解释一下什么是扩展JavaScript功能的正确方法,其实就是指通过使用第三方库或者自己编写代码模块的方式增强基本的JavaScript功能。以下是详细的攻略: 1. 了解JavaScript基础知识 在进行任何扩展功能之前,首先要掌握JavaScript的基础知识,了解它的语法、变量、函数、数据类型等基本元素,只有这样才能更好地扩展它的功能。推荐阅…

    JavaScript 2023年5月18日
    00
  • JavaScript简单编程实例学习

    我们来详细讲解一下“JavaScript简单编程实例学习”的完整攻略。 一、前置知识 在开始学习JavaScript编程实例之前,我们需要掌握一些基本的前置知识,包括: HTML和CSS的基本语法 JavaScript的基本语法和数据类型 DOM操作基础知识 如果你还不掌握这些基础知识,可以先学习一下相关教程。 二、实例解析 接下来,我们将通过两个实例来详细…

    JavaScript 2023年5月18日
    00
  • JavaScript代码编写中各种各样的坑和填坑方法

    JavaScript是一门广泛使用的语言,但在编写代码时会遇到各种各样的坑。以下是JavaScript代码编写中的一些常见坑和对应的填坑方法: 坑1:变量作用域问题 JavaScript中的变量作用域是函数级别的,而不是基于代码块的。如果在函数外部声明变量,则变量将成为全局变量,可能会导致变量的混淆和意外赋值。填坑方法是在函数内部使用var、let或cons…

    JavaScript 2023年5月28日
    00
  • JavaScript this指向相关原理及实例解析

    JavaScript this指向相关原理及实例解析 JavaScript 中的 this 关键字是一个引起很多初学者困惑的概念。它被用来引用运行时上下文中的当前对象,但是在不同的语法结构和调用方式下,其指向的对象也会发生改变。本文将详细讲解 JavaScript 中 this 的指向原理及实例解析。 什么是 this? 在 JavaScript 中,thi…

    JavaScript 2023年6月11日
    00
  • 禁用backspace网页回退功能的实现代码

    为了禁用backspace网页回退功能,我们需要利用JavaScript来实现。以下是实现的步骤说明: 步骤一:绑定keydown事件 我们需要绑定keydown事件,以便监听用户的按键行为。在此事件内,我们可以获取用户按下的键码,并判断是否为backspace键。 window.addEventListener(‘keydown’, function(e)…

    JavaScript 2023年6月10日
    00
  • asp.net 操作cookie的简单实例

    下面我将详细讲解“ASP.NET 操作 Cookie 的简单实例”完整攻略。 1. 什么是 Cookie? Cookie 是一种被网站服务器发送给用户浏览器的短文本字符串,通常用于记录用户的一些信息,如用户名、购物车信息等等。它被浏览器保存并用于后续的请求中,让网站能够更好地向用户提供服务。 2. ASP.NET 如何操作 Cookie? ASP.NET 中…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript 高阶函数

    详解JavaScript 高阶函数 什么是高阶函数? 高阶函数是指接受函数作为参数,或返回一个函数作为返回值的函数。 JavaScript 中函数是一等公民,既可以被当做普通的数据类型进行传递,同时也可以作为返回值,这使得高阶函数成为了 JavaScript 中非常重要的一个概念。 通过高阶函数,我们可以实现非常灵活的代码设计,封装一些通用的操作,让代码变得…

    JavaScript 2023年5月27日
    00
  • 详解javascript高级定时器

    详解JavaScript高级定时器 在JavaScript中,定时器是一种非常强大的机制,它允许你在未来的某个时间点执行某些代码。在本文中,我们将探讨JavaScript高级定时器的各种用法和技巧。 setTimeout setTimeout允许你在一定的延迟之后执行一段代码。语法如下: setTimeout( function() { // 在这里写需要执…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部