正则表达式是一个字符串,用来描述匹配一个字符串集合的模式。对于字符串处理来说,正则表达式是一个强大的工具。可以使用正则表达式来匹配,替换和拆分字符串。
一.匹配字符串
让我们先来看String类中的matches方法,它比equals方法功能更加强大,不仅可以匹配一个固定的字符串,还可以匹配符合一个模式的字符串集。例如,以下两个语句结果都为true。
"java".matches("java");
"java is fun".matches("java.*")
第二个语句中的"java.*"是一个正则表达式。它描述了一个字符串模式,以java开始,后面跟0个或者多个字符串。这里,子字符串.*匹配0或者多个任意字符。
二.正则表达式语法
三.替换和拆分字符串
String类包含replaceAll,replaceFirst和split方法,用于替换和拆分字符串。
replaceAll方法替换所有匹配的子字符串,replaceFirst方法替换第一个匹配的子字符串。如图。
有两个重载的split方法。
split(regex)方法使用匹配的分隔符将一个字符串拆分为子字符串。如图。
在split(regex,limit)方法中,limit参数确定模式匹配多少次。如果limit<=0,split(regex,limit)等同于split(regex)。如果limit>0,模式最多匹配limit-1次。如图。