`
suky
  • 浏览: 148324 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
社区版块
存档分类
最新评论

java.util.regex.Pattern字符串验证

阅读更多

      在java.util.regex包中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。

      从javadoc中,我们可以知道,指定为字符串的正则表达式必须首先被编译为Pattern类的实例。然后,可将得到的模式用于创建 Matcher 对象。

 

import java.util.regex.*;

public class Test{

   public static void main(String[] args){
	/*多个匹配器可以共享一个模式类*/
	Pattern p = Pattern.compile("a*b");			
	Matcher m1 = p.matcher("aaaaaaaaaaaaaab");			
	Matcher m2 = p.matcher("aba");			
	boolean b1 = m1.matches();
	boolean b2 = m2.matches();			
	System.out.println("b1:"+b1);//true      
	System.out.println("b2:"+b2);//false
	/*matches 方法:编译表达式并在单个调用中将输入序列与其匹配*/
	boolean b = Pattern.matches("a*b", "aaaaab");
	System.out.println("b:"+b);//true
	/*
	CANON_EQ: 启用规范等价
	CASE_INSENSITIVE: 启用不区分大小写的匹配
	COMMENTS :模式中允许空白和注释
        DOTALL: 启用 dotall 模式。
        LITERAL: 启用模式的字面值分析
        MULTILINE: 启用多行模式
        UNICODE_CASE :启用 Unicode 感知的大小写折叠
        UNICODE_CASE :启用 Unicode 感知的大小写折叠
        UNIX_LINES :启用 Unix 行模式			
	*/
	Matcher m3 = p.matcher("AAAAAAAAAAAAAAB");
	boolean b3 = m3.matches();
	System.out.println("b3:"+b3);//false
	Pattern p2 = Pattern.compile("a*b",Pattern.CASE_INSENSITIVE);
	Matcher m4 = p2.matcher("AAAAAAAAAAAAAAB");
	boolean b4 = m4.matches();
	System.out.println("b4:"+b4);//true
			
		
	}

}
 


部分正则表达式的构造:

\\    反斜线字符
[abc]    a、b 或 c
[^abc]    任何字符,除了 a、b 或 c
[a-zA-Z]    a 到 z 或 A 到 Z
.    任何字符(与行结束符可能匹配也可能不匹配)
\d    数字:[0-9]
\D    非数字: [^0-9]
\s    空白字符:[ \t\n\x0B\f\r]
\S    非空白字符:[^\s]
\w    单词字符:[a-zA-Z_0-9]
\W    非单词字符:[^\w]
^    行的开头
$    行的结尾
\b    单词边界

分享到:
评论

相关推荐

    java 正则表达式应用jar包 regex-smart.jar

    `regex-smart.jar`这个库显然是为了简化开发者在Java项目中使用正则表达式的流程,它提供了一系列内置的验证、提取和清洗方法,使得处理字符串变得更加高效和便捷。 首先,让我们了解一下正则表达式的基础概念。...

    java.util.Scanner应用详解_.docx

    `java.util.Scanner` 类是 Java 标准库中的一个实用工具类,它提供了一种方便的方式来读取基本类型的原始数据和字符串。`Scanner` 类可以读取从控制台输入的数据、文件中的数据,甚至是从字符串中的数据。 #### 二...

    java统计字符串出现次数算法--StringCounter(算法源码)

    import java.util.regex.Pattern; public class StringCounter { /** * 正则统计字符串出现次数 * * @param source * @param regexNew * @return int */ public static int finder(String source, ...

    java字符串处理取出括号内的字符串

    在Java中,我们可以使用`java.util.regex`包中的`Pattern`和`Matcher`类来匹配和操作符合特定模式的字符串。对于提取括号内的内容,一个简单的正则表达式可以是`\((.*?)\)`,它匹配一对括号,并用`.*?`非贪婪地捕获...

    Java根据正则表达式生成字符串—Xeger,automaton

    在Java中,`java.util.regex` 包提供了Pattern和Matcher类来处理正则表达式。然而,对于生成符合正则表达式的字符串,标准库并不提供直接支持。这时,我们可以引入第三方库,如`org.pcollections.Xeger` 和 `...

    28个java常用的工具类

    16. **`java.util.Scanner`**: 从各种输入源读取基本类型和字符串。 17. **`java.util.Properties`**: 用于存储配置信息,如XML或Properties文件。 18. **`java.util.Random`**: 生成随机数。 19. **`java.util....

    30个常用java工具类

    7. **`java.util.regex.Pattern`** 和 **`Matcher`**:处理正则表达式,用于文本匹配和替换。 8. **`java.util.concurrent`** 包:提供并发工具类,如`ExecutorService`、`Future`和`Semaphore`,帮助管理线程和...

    最最常用的 100 个 Java类分享

    23. `java.util.regex.Pattern`:Pattern类用于编译正则表达式,用于匹配字符串。 24. `java.io.Serializable`:Serializable接口用于对象序列化,允许对象的状态被保存和恢复。 25. `java.util.LinkedList`:...

    Java 中 过滤Html标签

    java.util.regex.Pattern p_script; java.util.regex.Matcher m_script; java.util.regex.Pattern p_style; java.util.regex.Matcher m_style; java.util.regex.Pattern p_html; java.util.regex.Matcher m_...

    java常用工具类——个人总结

    - `java.util.regex.Pattern` 和 `java.util.regex.Matcher` 支持正则表达式匹配和操作。 6. **网络工具类**: - `java.net.URL` 和 `java.net.URLConnection` 用于处理网络连接和资源获取。 - `java.net.Socket...

    java工具类

    用于从标准输入(键盘)或文件读取数据,如用户输入的整数、字符串等。 11. **`java.util.Comparator`**: 接口用于比较对象,常用于自定义排序规则,例如在`Collections.sort()`或`TreeSet`中使用。 12. **`...

    将内容中的符合url格式的字符串转换为超链接(JAVA版)

    在Java编程中,将文本内容中的符合URL格式的字符串转换为超链接是一项常见的需求,特别是在处理用户生成内容或网络爬虫应用中。本教程将详细讲解如何使用Java实现这一功能,主要涉及URL正则表达式匹配和字符串处理...

    28个java常用的工具类源码

    6. **`java.util.regex.Pattern`和`Matcher`**:这两类用于处理正则表达式,`Pattern`编译正则表达式,`Matcher`在目标字符串上执行匹配操作。 7. **`java.util.Random`**:用于生成随机数,可以生成指定范围内的...

    java百度编辑器提交过滤标签方法

    在Java中,`java.util.regex`包提供了用于处理正则表达式的类和接口,包括`Pattern`和`Matcher`两个核心类。 - `Pattern`: 是一个编译后的正则表达式对象。 - `Matcher`: 是与输入字符串匹配的`Pattern`的对象。 #...

    java 正则匹配所有 {},并取出所有符合的字符串。

    首先,我们需要了解Java中处理正则表达式的相关类,如`java.util.regex.Pattern`和`java.util.regex.Matcher`。`Pattern`类用于编译正则表达式,而`Matcher`类则执行实际的匹配操作。 1. **创建正则表达式**: 要...

    java正则表达式的概述及在JAVA中的使用方法.txt

    在Java中,正则表达式的功能主要通过`java.util.regex`包来实现,该包提供了`Pattern`、`Matcher`等类来帮助开发者进行字符串的匹配、查找和替换等工作。 #### 二、Java正则表达式的基础概念 在深入探讨Java中正则...

    java正则表达式替换字符串

    ### Java正则表达式替换字符串详解 #### 一、引言 在Java编程语言中,正则表达式是一种强大的文本处理工具,它可以帮助开发者轻松地完成字符串搜索、替换等任务。本文将详细介绍如何使用Java正则表达式进行字符串...

    java 字符串 正则表达式 详细实例代码

    - `Pattern.compile(regex)`编译正则表达式为模式对象,`Matcher`对象通过`Pattern`对象的`matcher(String input)`方法与输入字符串关联。 - 常用的正则表达式方法有`matches()`、`find()`、`replaceAll(String ...

    整理的若干java常用工具类

    另外,`java.util.regex`包中的Pattern和Matcher类则支持正则表达式匹配。 4. **并发处理**:`java.util.concurrent`包提供了线程安全的数据结构和并发工具,如ExecutorService、Semaphore、CountDownLatch、...

    java 正则表达式 Java Regex.rar

    在实际开发中,Java正则表达式广泛应用于数据验证(如邮箱、电话号码格式检查)、文本处理(如提取关键词、替换特定格式的字符串)等领域。熟练掌握Java正则表达式,能够提高代码的效率和可读性,是每个Java开发者...

Global site tag (gtag.js) - Google Analytics