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判断字符长度、数字、Email、电话等常用判断函数分享

    下面我将为大家分享一下关于JavaScript判断字符长度、数字、Email、电话等常用判断函数的攻略。 判断字符长度 在JavaScript中判断字符长度通常使用字符串的length属性来获取字符串的长度。length属性会返回一个整数,代表字符串中字符的数量。利用字符串的length属性,我们可以编写如下函数: function isStringLeng…

    JavaScript 2023年6月10日
    00
  • Ajax Blog 用到的几个函数第2/3页

    我来详细讲解一下 “Ajax Blog 用到的几个函数第2/3页” 的完整攻略。 一、几个函数的作用 在 “Ajax Blog 用到的几个函数第2/3页” 中,主要介绍了以下几个函数: 1. getHttpObject() 该函数的作用是创建 XMLHttpRequest 对象,用于执行与服务器端的交互。在 Ajax 中,XMLHttpRequest 对象是…

    JavaScript 2023年6月11日
    00
  • javascript RegExp对象(正则表达式)

    JavaScript中的RegExp对象提供了在字符串中进行正则表达式匹配的能力。它通常用于处理字符串中的模式匹配,如验证、搜索或替换特定模式,是JavaScript中必不可少的一个功能。 RegExp对象的基本概述 创建RegExp对象 使用RegExp对象,最简单的方法是通过一个字符串的值来创建,将其作为参数传递给RegExp的构造函数: var pat…

    JavaScript 2023年6月10日
    00
  • js中值类型和引用类型的区别介绍

    js中值类型和引用类型的区别介绍 在JavaScript中,变量分为值类型和引用类型。值类型主要包括基本类型数据,比如数字、字符串、布尔值等,引用类型主要包括对象、数组、函数等。两者在定义、赋值和传递参数等方面有着不同的表现。 值类型 定义 值类型的变量在定义的时候,会直接将数据储存在栈内存中。 let a = 1 赋值 当把一个值类型的变量复制到另一个变量…

    JavaScript 2023年6月10日
    00
  • 浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用

    下面我来详细讲解“浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用”的完整攻略。 一、什么是 JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON 数据格式如下所示: { "name": "Michael", "age"…

    JavaScript 2023年5月27日
    00
  • JavaScript 判断数据类型的4种方法

    下面是详细讲解“JavaScript 判断数据类型的4种方法”的完整攻略。 方法一:typeof typeof 运算符返回一个值的数据类型(字符串形式),包括:”undefined”、”boolean”、”number”、”string”、”object”和”function”。 typeof 123; // "number" typeo…

    JavaScript 2023年6月10日
    00
  • es6 filter() 数组过滤方法总结

    标题:ES6 filter() 数组过滤方法总结 介绍:在ES6中,filter()是一个常用的数组方法,它可以根据指定的条件来过滤数组元素。本文将详细讲解ES6中的filter()方法,包括其参数和用法,同时提供两个实际的示例来帮助读者更好地理解。 正文: 参数和用法 ES6中的filter()方法接受一个回调函数作为参数,回调函数可以接受三个参数,分别是…

    JavaScript 2023年5月27日
    00
  • 纯Javascript实现ping功能的方法

    实现 “Ping” 功能,即测试主机之间的可靠性和延迟,可以使用 JavaScript 中的 XMLHttpRequest 对象来实现。 步骤1:创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); 步骤2:绑定事件处理程序 因为 XMLHttpRequest 对象基于异步操作,所以我们需要将其用于“pin…

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