`
364434006
  • 浏览: 591889 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Groovy正则表达式使用

 
阅读更多

//  定义正则表达式,里面的特殊字符会自动转义

~// 定义正则表达式,会将字符串编译成Pattern

=~  将左边的字符串局部匹配右边的正则表达式,并返回Matcher

==~ 将左边的字符串全局匹配右边的正则表达式,并返回boolean

 

//语法“//”定义正则表达式,对于出现在表达式中特殊字符,会自动进行转义

       def p1 = /a\d$@/;

       println p1;//  /a\d$@/

       println p1.class;//类型还是字符串

       println 'a\\d$@' == p1;//true

      

       // "//"中可以使用GString

       def sname = "name";

       println (/$sname/ == "$sname");//true

       println (/$sname/ == sname);//true

      

       println "============================";

       //~:用在字符串之前,会将字符串编译成Pattern

       def p2 = ~/groovy\d+/;

       println p2;// groovy\d+

       println p2.class; //java.util.regex.Pattern

      

       println "============================";

      

       //=~:将操作符左边的字符串跟右边的Pattern进行局部匹配,返回值为Matcher

       def matcher = ("hello groovy88 test" =~ p2);

       println matcher;//java.util.regex.Matcher[pattern=a region=0,3 lastmatch=]

       println matcher.class;//java.util.regex.Matcher

       println matcher[0] == "groovy88";//没有匹配到matcher[0]null,所以这里在校验有没有匹配到时可以通过getCount()来判断

       println matcher.getCount();

       println "============================";

      

       //用法跟=~类似,只是这里进行的精确匹配,即左边的整个字符串跟左边的模式进行匹配,==~的结果跟Matcher.matches()的结果是一样的。返回值为Boolean     

       def matcher2 = ("hello groovy88 test" =~ /groovy\d+/);//局部匹配返回Matcher

       def matcher3 = ("hello groovy88 test" ==~ /groovy\d+/);//全局匹配返回boolean

      

       println matcher2[0];//groovy88

       println matcher3;//false

 

       println "==========matches==================";

       //Matcher类的matches方法只有在全匹配才返回true

       def matcher4 = ("groovy123" =~ /groovy\d+/);

       println matcher4.matches();//true

      

       matcher4 = ("testgroovy123" =~ /groovy\d+/);

       println matcher4.matches();//false

 

       //println ("groovy123" =~ /groovy\d+/).matches();//这种写法还有错误

 

 

分享到:
评论

相关推荐

    groovy正则表达式基础1

    【Groovy正则表达式基础1】 Groovy是一种基于Java平台的动态编程语言,它扩展了Java的功能,包括对正则表达式的处理。在Groovy中,正则表达式是通过`~`运算符或者使用斜杠(`/`)来定义的。这种特性使得Groovy在处理...

    groovy正则表达式使用1

    #### 一、Groovy正则表达式的定义与使用 在Groovy中,正则表达式(Regular Expression)是一种强大的工具,用于处理文本中的模式匹配、查找、替换等操作。Groovy支持多种方式定义正则表达式,包括通过双斜线`//`、...

    我收集的groovy 正则表达式参考

    ### Groovy正则表达式详解 #### 一、引言 在编程领域中,正则表达式(Regular Expressions)是一种强大的文本处理工具,被广泛应用于字符串搜索与替换等操作中。Groovy作为一种灵活的脚本语言,在处理文本时尤其...

    [Groovy入门]第四讲.数据搜索功能与正则表达式

    在Groovy中,可以使用`=~`运算符将字符串与正则表达式进行匹配,返回一个匹配结果的Matcher对象。例如: ```groovy def text = 'Hello, Groovy!' def matchResult = text =~ /Groovy/i // 使用/i忽略大小写 if ...

    正则表达式工具(java版)

    早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。

    Android Studio 3.X 正则表达式

    ### Android Studio 3.X 正则表达式更新指南 随着Android Studio不断迭代更新,开发者们在升级至新版本时往往需要对旧项目进行相应的配置调整。对于从早期版本升级到Android Studio 3.X的项目来说,一个常见的问题...

    groovy代码-测试正则表达式

    在这个“groovy代码-测试正则表达式”的主题中,我们将深入探讨Groovy中的正则表达式使用及其相关知识点。 1. **正则表达式基础** 正则表达式(Regular Expression)是由字符和特殊符号组成的模式,用于描述字符串...

    正则表达式教程

    本教程主要参考自网上最普遍的《正则表达式30分钟入门教程》(http://deerchao.net/tutorials/regex/regex.htm),这是一个非常优秀的教程,深入浅出讲解了正则表达式的基本概念,更加深入的内容可以参考CSDN上过客...

    RegexBuddy 3.zip

    3. **代码生成**:对于多种编程语言(如Perl、PostgreSQL、Delphi Prism、Groovy和MySQL等,这些语言的配置文件在压缩包内均有体现),RegexBuddy可以自动生成对应的源代码片段,方便用户快速将正则表达式集成到项目...

    apache-groovy-sdk-2.4.11

    了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...

    apache-groovy-sdk-3.0.9.zip

    了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...

    Groovy学习笔记

    - **正则表达式**: Groovy内置了强大的正则表达式支持。 通过以上内容的学习,读者将能够了解Groovy的基本概念、主要特性和开发环境设置方法,同时也能掌握Groovy的基本语法和一些进阶技巧。这些知识点为后续深入...

    Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别.rar

    这里的`regex`参数是一个正则表达式,用于定义分割字符串的规则。例如,如果你有一个逗号分隔的字符串,你可以这样做: ```groovy def str = "apple,banana,grape" def parts = str.split(",") println parts // ...

    groovy基础语法.pdf

    - 字符串插值和正则表达式的使用,如`println("Mynameis${name}")`和`'groovy'.contains('oo')`; - if-else和switch语句的Groovy实现; - for循环和范围操作的使用,如`for(iin0..9){x+=i}`; - 使用断言`assert`来...

    The Groovy 2 Tutorial(LeanPub)

    17. **运算符**:Groovy支持多种运算符,如算术运算符、条件运算符、字符串运算符、正则表达式运算符、集合运算符和对象运算符等。运算符重载、位运算符和复合赋值运算符也是重点。 18. **赋值运算符**:Groovy的...

    研究精通Groovy

    - **内置正则表达式**:Groovy内置了对正则表达式的强大支持,无需导入额外库即可实现文本匹配和替换等操作,简化了字符串处理的复杂度。 - **闭包**:闭包是Groovy中一个非常强大的特性,允许函数作为第一类公民,...

Global site tag (gtag.js) - Google Analytics