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}", "*"));//和上一个相似,只不过这个可以指定一个范围,匹配后一位,或后两位相同的
	
	}

结果:



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值