Java正则表达式基础

先看一下正则表达式的一些基本符号及用法:

 .  表示任意一个字符 
 [asd] 表示a或s或d
 [^asd] 除了asd之外的
 [a-z] 所有小写字母
 [A-Z] 所有大写字母
 \d 任意的数字
 \D 非数字
 \w [A~Z a~z 0~9] 大小写字母 数字0~9
 \W 字符
 ========================
 * 0次或多次
+ 1次或多次o
0次或1次
 {n} 恰好是n次

 {n,m} 至少是n次,但不多于m次


接下来看一下以上的符号在Java的代码中的用法及效果

public static void main(String[] args) {
		String str1 = "123ABCDabcd+-*/%";
		String str2 = "abzoozozAB";
		
		System.out.println(str1.replaceAll(".", "x")); //将所有字符替换成x
		System.out.println(str1.replaceAll("[abc]", "x"));//将a,b,c替换成x
		System.out.println(str1.replaceAll("[ABC]", "x"));//将A,B,C替换成x
		System.out.println(str1.replaceAll("[a-d]", "*"));//将a到d之间的小写字母替换成*
		System.out.println(str1.replaceAll("[A-D]", "*"));//将A到D之间的大写字母替换成*
		System.out.println(str1.replaceAll("\\d", "*"));//将所有的数字替换成*
		System.out.println(str1.replaceAll("\\D", "*"));//将所有的非数字字符替换成*
		System.out.println(str1.replaceAll("\\wabc", "*"));//将abc整体替换成*,其中abc处可替换成大写字母或小写字母或数字
		System.out.println(str1.replaceAll("\\W+-", "*"));//将+-整体替换成*,其中+-处可替换成其他字符
		System.out.println("====================");
		System.out.println(str2.replaceAll("zo*", "*"));//匹配zo或多于zo多个字符的zoo,或少于zo字符数的z,并替换成*
		System.out.println(str2.replaceAll("zo+", "*"));//匹配zo或多余zo一个字符的,并替换成*
		System.out.println(str2.replaceAll("zo?", "*"));//匹配于zo相等或少zo的z,进行替换
		System.out.println(str2.replaceAll("zo{1}", "*"));//匹配zo相等的字符,{}中的1,表示可以匹配数组后几位。列:zo{2}将会匹配zoo,最后面两位是相同的
		System.out.println(str2.replaceAll("zo{1,2}", "*"));//和上一个相似,只不过这个可以指定一个范围,匹配后一位,或后两位相同的
	
	}

结果:



阅读更多
文章标签: Java
想对作者说点什么? 我来说一句

JAAV正则表达式

2017年09月05日 80KB 下载

Java正则表达式Java正则表达式

2010年09月19日 4KB 下载

Java正则表达式

2011年10月19日 49KB 下载

java正则表达式PPT

2010年07月20日 967KB 下载

Java正则表达式详解

2010年10月11日 382KB 下载

java正则表达式

2008年08月08日 375KB 下载

Java正则表达式详解.doc

2008年09月16日 381KB 下载

没有更多推荐了,返回首页

不良信息举报

Java正则表达式基础

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭