Java-正则表达式的学习(Regex Expression)(一)

来源:互联网 发布:java将date格式化 编辑:程序博客网 时间:2024/05/23 10:36

   正则表达式是一种强大而灵活的文本处理工具。使用正则表达式,我们能够以编程的方式,构造复杂的文本模式,并对输入的字符串进行搜索。

   正则表达式的用途:

    1.字符串匹配

    2.字符串查找

    3.字符串替换

Java关于正则表达式的处理主要提供了两个类:PatternMatcher,查看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()函数

这两个函数在替换字符操作中很好用,下面举个例子,好好看看就会用了

 今天就先到这了,明天继续...

原创粉丝点击