Java正则表达式:
package pack.java.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 正则表达式实例1 * @author Administrator * */ public class RegexpDemo01 { public static void main(String[] args) { //正则常用表达式介绍; //符号:.代表任意字符; //符号:*代表0个或者多个 //符号:+代表1个或者多个 //符号:?代表0个或者1个 //符号:/d代表数字0-9 //符号:/D代表非数字0-9的字符; //符号:/w代表字符a-z或者字符A-Z或者下划线_或者数字0-9,如[a-zA-Z_0-9] //符号:/W代表非[a-zA-Z_0-9]的字符; //符号:/s代表空白字符如:\n、\t、\r 或者 空白等; //符号:/S代表非空白字符的字符; //符号:\代表转义\如果需要写正则表达式匹配\必须写\\匹配. //符号:^如果位于中括号里面是取反,如果^位于中括号外面代表字符输入的开头; //符号:$代表字符结束的末尾; //符号:/b代表单词边界,如i am或者i\tam 等; //表达式中的.代表匹配任意字符,返回结果true; p("@1A中".matches("....")); //每次匹配一个长度,并且是数字0-9,或者使用\d也行; p("abcd123abc".replaceAll("[0-9]{1}","-")); //当字符串只有3个长度时才匹配成功; Pattern compile = Pattern.compile("\\w{3}"); p(compile.matcher("aA1").matches()); //正则表达式*代表0个或者多个,返回结果true; p("aA1bc".matches("\\w*")); //正则表达式+号代表1个或者多个,返回结果true; p("AVB123a".matches("\\w+")); //正则表达式?号代表0个或者1个,返回结果true; p("".matches("\\w?")); //正则表达式{3}代表字符串需要连续出现多少次,返回结果true; p("aaa".matches("a{3}")); //正则表达式{3,}代表至少出现3次最多未知,结果返回true; p("123456".matches("\\d{3,}")); //正则表达式区间{3,100}匹配,代表至少3次不超过100次,结果返回true; p("张AB/3&*".matches(".{3,100}")); //正则表达式[0-9]代表一个范围匹配,结果返回true; p("192".matches("[0-2][0-9][0-9]")); //范围匹配规则如下: //正则表达式[abc]代表只需要匹配此[]中的任意一个字符(只匹配单个字符).返回true; p("a".matches("[abc]")); //正则表达式取反[^abc]代表除了表达式的字符都可以匹配,返回true p("d".matches("[^abc]")); //正则表达式-代表一个范围,[a-zA-Z]代表范围,a到z和A-Z;返回true; p("abc".matches("[a-zA-Z]{3}")); //正则表达式|代表或者,如:[a-z]|[A-Z] 表示小写字符a-z或者大写字母A-Z; p("abez".matches("([a-z]|[A-Z]){4,}")); //正则表达式并集&&表示并且的意思,例如:[A-Z&&[ABC]],代表需要匹配A-Z中的一个字母并且和[ABC]中的一个匹配,只有2个表达式都成立时才返回true; p("A".matches("[A-Z&&[ABC]]")); //匹配空白字符以及制表符、回车符、换行等,使用\s即可,返回true; p(" \n\r\t".matches("\\s+")); //匹配下划线字母数字,使用\w即可,返回true; p("a_z_2333aABD".matches("\\w{1,}")); //匹配数字、字母、以及多个符号&^%#等; p("abc3ABC$^&".matches("\\w{1,7}[%$&^]+")); //匹配\\需要转义\\\\进行匹配,返回true p("\\".matches("\\\\")); //边界匹配规则如下: //正则表达式需要从字符起始位置开始找起需要^并且匹配中间任意字符.和以llo字符结尾的字符,返回true; p("hello zhangsan".matches("^h.*san$")); //匹配以abc结尾的字符,返回true p("hello zhangabc".matches(".*abc$")); //匹配空行; p(" \n".matches("^[\\s&&[^\\n]]*\\n$")); //单词边界规则如下; //匹配单词,可以使用\b代表有单词边界的地方开始匹配或者是\t代表空格. p("Yes sir.".matches("[a-z]*\\b.{1,}")); p("Yes\tsir.".matches("[a-z]*\\b.{1,}")); //matches find lookingat区别 //正则表达式中的matcher表示匹配整个字符串; Pattern comp1 = Pattern.compile("\\d{3,5}"); Matcher matcher = comp1.matcher("111-430-13331-234-13"); p(matcher.matches()); //重置表示重新从最初的位置开始找起; matcher.reset(); //find表示每次匹配一次就移除匹配的部分,保留子字符串,然后返回匹配项返回true; p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); p(matcher.start() + " - "+matcher.end()); p(matcher.find()); matcher.reset(); //lookingAt表示每次从最开始的位置开始找; p(matcher.lookingAt()); //较复杂的查找和替换操作; Pattern comp2 = Pattern.compile("java",Pattern.CASE_INSENSITIVE);//忽略大小写; Matcher matcher2 = comp2.matcher("Java.Net JAVA JavA Java java JAVADemoJaVaDD I Love You JAva test abcd 123."); int i =0; StringBuffer sb = new StringBuffer(); while(matcher2.find()){ i++; //如果是偶数java转成大写,否则转成小写; if(i%2==0){ matcher2.appendReplacement(sb, "JAVA"); }else{ matcher2.appendReplacement(sb, "java"); } } //重新追加没有匹配的字符串; matcher2.appendTail(sb); p(sb); //分组匹配输出;如果正则表达式中的"()"代表一组表达式,如果有多组就使用多个()括起来,使用group(1)表示取第一组表达式的值; Pattern comp3 = Pattern.compile("(\\d{3,5})([a-z]{1,3})", Pattern.CASE_INSENSITIVE); Matcher matcher3 = comp3.matcher("123a-234abc-33452SBD-32BS-311XYZ"); while(matcher3.find()){ p(matcher3.group(1));//表示按(\\d{3,5})第一组的正则表达式进行匹配. } } /** * 输出正则表达式匹配后的结果; * @param obj */ public static void p(Object obj){ System.out.println(obj); } }
相关推荐
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
Java正则表达式验证IP地址 Java正则表达式验证IP地址是指使用Java语言中的正则表达式来验证IP地址是否符合标准。IP地址是指在网络通信中用来标识设备的地址,它是一种逻辑地址,通过它可以找到网络中的设备。在...
Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
以下是对这些文档标题所涉及的Java正则表达式知识点的详细解释: 1. **正则表达式之道** 这个主题可能涵盖了正则表达式的基础概念,包括元字符、字符类、量词和分组。元字符如`.`代表任意字符,`^`表示行首,`$`...
Java正则表达式是一种强大的文本处理工具,广泛用于验证字符串、查找特定模式和替换文本。在Java中,正则表达式提供了简洁而灵活的方式来处理字符串,使得编程人员能够以更高效的方式实现各种文本操作。 正则表达式...
Java正则表达式库是Java开发中不可或缺的一部分,它为开发者提供了一种强大的文本匹配工具。在Java中,正则表达式(Regular Expression)是一种模式匹配语言,用于处理字符串操作,如查找、替换或提取特定模式的数据...
Java正则表达式测试工具是面向开发者和爱好者的一款实用程序,它可以帮助用户验证和调试他们的正则表达式。在Java编程环境中,正则表达式是一个强大的字符串处理工具,广泛用于数据验证、文本搜索和替换等任务。这款...
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。这个“java正则表达式截取demo”提供了一个可以直接运行的示例,帮助开发者理解如何在Java中使用正则...
Java正则表达式是Java编程语言中的一个强大工具,它用于模式匹配和字符串处理,尤其在数据验证、文本检索和替换等方面发挥着重要作用。本教程是专为初学者设计的HTML版,旨在帮助读者快速掌握Java正则表达式的概念和...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许我们通过模式匹配来查找、替换或分割文本。在Android开发中,正则表达式尤其重要,因为它们可以帮助我们验证用户输入、处理文本数据或者进行复杂的...
Java正则表达式是编程语言Java中用于处理字符串和文本的强大工具。它允许开发者通过模式匹配来执行复杂的文本分析和操作。在Java中,正则表达式的操作主要涉及两个核心类:`java.util.regex.Matcher`和`java.util....
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...
Java正则表达式是编程语言中的一个重要组成部分,用于文本处理和模式匹配。Jakarta ORO(Oracle Regular Expressions for Java)是Apache软件基金会开发的一个强大的Java正则表达式库,它为开发者提供了更为灵活和...
Java正则表达式 Java 正则表达式 图片版 携带方便,查阅方便!~