正则表达式是一个字符串,用于描述匹配一个字符串集的模式。可以通过制定某个模式来匹配、替换或分格一个字符串。这是一种有用且功能非常强大的特性。
1.matches
matches和equals功能相似,但比equals更强大。下面的语句都是true:
"java".matches"("java")
"java".equals("java")
"java is fun".matches("java.*")
"java is cool".matches("java.*)
上面的"java.*"是一个正则表达式。它描述的字符串模式是以字符串java开始的,后面紧跟任意0个或多个字符。这里,子串.*和0个或多个字符串相匹配。
2.下面的语句也都是true:
"400-02-4534".matches("\\d{3}-\\d{2}-\\d{4}")
这里\\d表示单个数字位,\\d{3}表示3个数字位。
放法replaceAll、replaceFirst、split也可以和正则表达式一起用。例如,下面语句用字符串NNN替换”a+b$#c"中的$、+或者#,然后返回一个新的字符串。
String s =”a+b$#c".replace("[$+#]");
System,out,println(s);
下面将字符串分隔为由标点符号分隔开的字符串数组
String [] tokens = "java,c?c#,c++".split("[.,;?"]):
for(int i = 0;i < tokens.length;i++)
{
System.out.print(tokens[i])
}
正则表达式【.,:;?】指定的模式是匹配.或,或:或;或?。这里每个字符都是分隔字符串的分隔符。