你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Java的正则表达式学习

2021/11/4 23:31:58

一、正则表达式的基本概念

正则表达式(Regular Expressions)也称规则表达式,这个概念最初是由Unix中的工具软件(如sed和grep)普及的。正则表达式在代码中常简写为REs,regex或regexp(regex patterns)。正则表达式的本质是一个字符串,用来描述匹配一个字符串集合的模式。通过正则表达式,可以匹配、替换和拆分字符串。

二、正则表达式的语法

正则表达式由字面值字符和特殊符号组成,表H-1为正则表达式常用的语法:

 

 

注意:

1. Java中需要使用\\来表示\

2. \s等同[\t\n\r\f];\S等同[^\t\n\r\f]

3. 不要在重复量词符中使用空白

示例:

1."111-22-3333".matches("[\\d]{3}·[\\d]{2}-[\\d]{4}") returns true.
2."11-22-3333".matches("[\\d]{3)}[\\d]{2}-[\\d]{4}") returns false.

 

1."123".matches("[\\d]*[02468]") returns false.
2."122".matches("[\\d]*[02468]") returns true.

正则表达式中替换和拆分字符串

replaceAll方法替换所有匹配的子字符串,replaceFirst方法替换第一个匹配的子字符串。

示例:

replaceAll: 

System.out.print1n("Java Java Java".replaceA11("v\\w"."wi")) ;

显示

Jawi Jawi Jawi

replaceFirst:

System.out.print1n("Java Java Java".replaceFirst("v\\w"."wi"));

显示

Jawi Java Java

两个重载split方法:split(regex)方法使用匹配的分隔符将一个字符串拆分为子字符串。

示例:

将字符串"JavaHTML2Per1"拆分为Java。HTML以及Per1并且保存在tokens [0],tokens[1]

以及tokens[2] 中。

在split(regex,1imit)方法中,limit参数确定模式匹配多少次。如果limit <= 0,,split(regex,limit)等同于sp1it(regex)。如果limit > 0,模式最多匹配limit -1次。

示例: