10 正则表达式

1       正则表达式

1.1  正则表达式

Groovy的正则表达式支持java的正则表达式,并且现在了额外易用的正则语法。

Groovy新增:将/作为String的声明,例如:/strings/,使用2个/,并无需去掉后边的/。

Table 3. 

 

 

str =~ pattern

创建一个字符串的匹配器。等同于Pattern.compile(pattern).matcher(str)。如果你想搜索,如果指定的字符(pattern)包含在该string变量中时,将会返回true。

==~

如果pattern匹配string,返回一个boolean。等同于Pattern.matches(pattern, str).

~String

创建一个string的pattern对象。等同于java中的Pattern.compile(str)。

如果你使用~操作符,像string将会转变为正则表达式。

Groovy也提供了replaceAll 方法,允许你定义一个闭包(closure)。

package first

 

public class RegularExpressionTest{

    public static void main(String[] args) {

       // Defines a string with special signs

       def text = "John Jimbo jingeled happily ever after"

 

       // Every word must be followed by a nonword character

       // Match

       if (text==~/(\w*\W+)*/){

           println "Match was successful"

       } else {

           println "Match was not successful"

       }

       // Every word must be followed by a nonword character

       // Find

       if (text=~/(\w*\W+)*/){

           println "Find was successful"

       } else {

           println "Find was not successful"

       }

 

       if (text==~/^J.*/){

           println "There was a match"

       } else {

           println "No match found"

       }

       def newText = text.replaceAll(/\w+/, "hubba")

       println newText

    }

 

 

}

 

posted @ 2016-07-26 21:12  遥远2  阅读(280)  评论(0编辑  收藏  举报