java正则表达式

Java正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

1.匹配字符串
String类的matches方法不仅可以匹配固定字符串,还可以匹配一个模式的字符串集。
例1,下面语句的结果都为true:

System.out.println("Java".matches("Java.*"));
System.out.println("Java is cool".matches("Java.*"));
System.out.println("Java is fun".matches("Java.*"));

在前面的语句中的"Java. * “是一个正则表达式。它描述的字符串模式是以字符串Java开始的,后面紧跟任意0个或多个字符。这里,字串. * 与0个或多个字符相匹配。
例2,下面语句的结果为true:
System.out.println(“400-02-4534”.matches(”\d{3}-\d{2}-\d{4}"));
这里 \d 表示单个数字位,\d{3}表示三个数字位。

2.替换字符串
正则表达式可以和replaceAll和replaceFirst方法结合在一起使用。
例1,下面语句的结果为aNNNbNNNNNNc:

String s="a+b&#c".replaceAll("[&+#]", "NNN");
System.out.println(s);

replaceAll方法替换所有匹配的子字符串。
例2,下面语句的结果为aNNNb&#c:

String s="a+b&#c".replaceFirst("[&+#]", "NNN");
System.out.println(s);

replaceFirst方法替换第一个匹配的子字符串。
这里的正则表达式[&+#]能够匹配&、+、#的模式。

3.分隔字符串
方法split可以和正则表达式结合在一起使用来实现分隔字符串。
例,下面语句实现了将字符串a+b#c分隔成a,b,c:

String[] s="a+b#c".split("[+&#]");
for(int i=0;i<s.length;++i)
		System.out.println(s[i]);

4.正则表达式语法
常用转义字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值