import java.util.regex.Matcher; import java.util.regex.Pattern; /** ? 一次或一次也没有 * 零次或多次 + 一次或多次 {n} 恰好n次 {n,}至少 n 次 {n,m} 至少 n 次,但是不超过 m 次 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围) [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集) [a-z&&[def]] d、e 或 f(交集) [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去) [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去) ^ 行的开头 $ 行的结尾 \b 单词边界 . 任何字符(与行结束符可能匹配也可能不匹配) \d 数字:[0-9] \D 非数字: [^0-9] \s 空白字符:[ \t\n\x0B\f\r] \S 非空白字符:[^\s] \w 单词字符:[a-zA-Z_0-9] \W 非单词字符:[^\w] \\ 反斜线字符 */ public class Regex { public static void main(String[] args){ p("a".matches("."));//1个字符 p("aa".matches("aa")); p("aaaa".matches("a*"));//0次或多次 p("aaaa".matches("a+"));//1次或多次 p("".matches("a*"));//0次或多次 p("aa".matches("a?"));//1次或0次 p("".matches("a?")); p("a".matches("a?")); p("1231231211212".matches("\\d{3,100}")); p("192.168.0.2".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")); p("392".matches("[0-2][0-9][0-9]")); p("a".matches("[abc]")); p("z".matches("[^abc]")); p("A".matches("[a-zA-Z]")); p("A".matches("[a-z]|[A-Z]")); p("A".matches("[a-z[A-Z]]")); p("12".matches("[0-9&&[1]]")); p(" \n\r\t".matches("\\s{4}")); p(" ".matches("\\s")); p("a_8".matches("\\w{3}")); p("abc88&^%".matches("[a-z]{1,3}\\d+[%^&^]+")); p("\\".matches("\\\\")); //0359-1234567 021-12345678 p("0359-1234567".matches("^\\d{4}-\\d{7}$|^\\d{3}-\\d{8}$")); p("021-12345678".matches("\\d{4}-\\d{7}|\\d{3}-\\d{8}")); p("hello sir".matches("^h.*")); p("hello sir".matches(".*ir$")); p("hello sir".matches("^h[a-z]{1,3}o\\s[a-z]+$")); p("hellosir".matches("^h[a-z]{1,3}o\\b.*")); p("\n".matches("^[\\s&&[\\n]]*\\n$")); p("aaa 8888c".matches(".*\\d{4}.")); p("aaa 8888c".matches(".*\\b\\d{4}.")); p("aaa8888c".matches(".*\\d{4}.")); p("aaa8888c".matches(".*\\b\\d{4}.")); //abc@163.com p("abc@163.com".matches("^.+@.+\\..+$")); p("abc@163.com".matches("\\w[.-]+@\\w[.-]+\\.[\\w]+")); Pattern p = Pattern.compile("java",Pattern.CASE_INSENSITIVE); Matcher m = p.matcher("java Java JAVA javA Ilove JAVa you hate JavA ddddadf"); StringBuffer buf = new StringBuffer(); int i=0; while(m.find()){ i++; if(i%2==0){ m.appendReplacement(buf, "java"); }else{ m.appendReplacement(buf, "JAVA"); } } m.appendTail(buf); p(buf); //分组 Pattern p1 = Pattern.compile("(\\d{3,5})([a-z]{2})"); String s = "321aa-11111bb-123cc-00"; Matcher m1 = p1.matcher(s); while(m1.find()){ // p(m.group()); p(m1.group(1)); // p(m.group(2)); } } public static void p(Object s) { System.out.println(s); } }
相关推荐
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配、搜索、替换和提取信息。它在软件开发中广泛应用于数据验证、文本处理、输入校验等场景。正则表达式通过特殊的语法和运算符,允许程序员构建灵活且...
### 正则表达式基础知识与应用 #### 一、正则表达式的定义及用途 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助我们实现字符串的搜索、替换等操作。它在多种编程语言中都有应用,尤其是在...
Python正则表达式笔记 正则表达式是 Python 中的一种强大工具,用于匹配和处理字符串。下面是 Python 正则表达式笔记中的一些重要知识点: 1. 导入模块:在使用正则表达式之前,需要导入 re 模块。import re 2. ...
标题与描述中的“js正则表达式笔记,直接运行”明确指出这是一份关于JavaScript正则表达式的笔记,其中包含了可以直接执行的代码示例。正则表达式在编程中是一种非常强大的工具,用于处理字符串模式匹配、搜索和替换...
### Java正则表达式基础知识与应用 #### 一、引言 正则表达式是一种强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。Java中的正则表达式支持广泛的标准和特性,是进行文本处理任务的理想...
python正则表达式笔记
Python正则表达式全套笔记v0.3 本文档是小小明个人笔记,涵盖了正则表达式的各个方面,包括各种模式、分组、断言、匹配、查找、替换和切割等。文档中提供了详细的正则匹配规则表,涵盖了基本字符规则、预定义字符集...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索替换等场景。在IT行业中,熟练掌握正则表达式是提高工作效率的关键技能之一。 首先,我们来看看...
### 正则表达式学习笔记 #### 一、正则表达式概述 正则表达式是一种强有力的模式匹配工具,广泛应用于各种编程语言中,用于文本处理。正则表达式允许用户定义复杂的查找模式,这对于数据验证、搜索和替换操作特别...
Java正则表达式是编程语言Java中用于处理文本的强大工具,它允许开发人员根据特定模式匹配、搜索和替换文本。在Java 2中引入的`java.util.regex`包提供了全面的支持,使得正则表达式的使用变得更为便捷。本文将探讨...
这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...
本笔记将深入探讨正则表达式的基础概念、语法特点以及在Java中的应用。 1. **正则表达式基础** - **元字符**:正则表达式中的特殊字符,如`.`、`*`、`+`、`?`、`^`、`$`、`\`、`|`、`(`、`)`等,它们在正则表达式...
php正则表达式笔记,本人手写的 //----正则匹配----- $p = '/example/' $str = "I am an example"; preg_match($p,$str); //如果$str中含有$p两个/中间的内容(内容不要求完全相同,要求为包含于关系),则返回真 //...
4. **学习正则的学习笔记**:可能包含一份详细的正则表达式学习资料,涵盖了基础概念如元字符、量词、字符类等,以及高级特性如分组、后向引用、预查等,方便用户系统学习。 5. **正则表达式参考手册**:可能提供了...
### 正则表达式大全笔记总结 #### 一、引言 正则表达式是一种用于匹配字符串的强大工具,在数据处理、文本分析等场景下极为常见。本文将对几个常见的正则表达式应用场景进行总结,包括中国电话号码验证、邮政编码...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换。它在编程、数据分析、文本挖掘等领域有着广泛的应用。本教程旨在帮助你深入理解和熟练掌握正则表达式,通过学习,你可以有效地查找、...
### Python正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expression)是一种在计算机科学领域广泛使用的模式匹配工具。它主要用于处理文本数据,包括搜索、替换以及提取文本中的特定模式。许多...