正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。
正则表达式的用途:
1.字符串匹配
2.字符串查找
3.字符串替换
Java关于正则表达式的处理主要提供了两个类:Pattern和Matcher,查看JDK文档在java.util.regex目录下。
Mather通过调用模式的 matcher 方法从模式创建匹配器。创建匹配器后,可以使用它执行三种不同的匹配操作:
• matches 方法尝试将整个输入序列与该模式匹配。
• lookingAt 尝试将输入序列从头开始与该模式匹配。
• find 方法扫描输入序列以查找与该模式匹配的下一个子序列。
Mather类中提供了相当多的方法,用到时可以去查看API文档,这里不在列举。
Pattern正则表达式的编译表示形式。
指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。
因此,典型的调用顺序是
如果你想表示一位数字,那么正则表达式应该是//d。如果你想插入一个普通的反斜线,则应该这样。不过换行和制表符之类的东西只需使用单反斜线:/n/t。
“一个或多个之前的表达式”,应该使用+。所以,如果要表示“可能有一个负号,后面跟着一位或多位数字”-?//d+。
(-|//+)?这个表达式表示字符串的起始字符可能是一个”-”或”+”,或两者皆没有。因为字符+在正则表达式中有特殊的意义,所以必须使用//转义字符,使之称为表达式的一个普通字符。
学以致用:
(1)现在就来用正则表达式来检测一下IP地址是否正确。主要用到了split()函数
先将IP字符串192.168.6.1分割成192 168 6 1然后再去判断每个数字是否小于255,这样就ok了,呵呵
(2)第二个replaceFirst()和replaceAll()函数
这两个函数在替换字符操作中很好用,下面举个例子,好好看看就会用了
今天就先到这了,明天继续...