`
364434006
  • 浏览: 587201 次
  • 性别: 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 正则表达式 Groovy正则表达式语法 背景项目使用Gradle作为自动化构建的工具, 闲暇之余对这个工具的使用方式以及其配置文件依赖的Groov

    groovy正则表达式使用1

    Groovy正则表达式使用 // 定义正则表达式,里面的特殊字符会自动转义~// 定义正则表达式,会将字符串编译成Pattern=~ 将左边的字符串局部匹配右边

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

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

    正则表达式工具(java版)

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

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

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

    groovy代码-测试正则表达式

    groovy代码-测试正则表达式

    正则表达式教程

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

    js中的正则表达式入门(大量实例代码)

     js中使用正则表达式,除了了解正则表达式基本的匹配规则外。还需要了解下面的基本的知识: python,js,groovy这些脚本语言都有在线调试的网站,可以在线测试是否有语法错误,用起来也很方便。 var reg = new ...

    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 开发环境和使用技能,...

    nexus-repository-cpan:很多正则表达式,v perl,超级兴奋

    要构建项目并生成捆绑包,请使用Maven mvn clean install 如果一切顺利,则CPAN捆绑软件应在target文件夹中可用 将CPAN与Nexus Repository Manager 3结合使用 需要Nexus Repository Manager版本> = 3.8.0 安装插件 ...

    Groovy学习笔记

    Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式

    Groovy 教程

    本教程适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java™ 开发人员。了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。

    SaveActionGroovyScripts:IntelliJ IDEA Android Studio插件,当文件同步保存时,允许用户自动运行自定义Groovy脚本

    Groovy脚本执行可以基于对保存文件路径的正则表达式检查而有条件地启用/禁用。 入门 安装插件 首先, 并安装插件。 配置插件 该插件随附一个默认的IntelliJ IDEA设置文件,该文件位于<USER>/<IDE>/config/options/...

    【最新版】DbSchema_macos_8_2_9.tgz【亲测可用】最好的可视化图表设计器和 GUI工具

    使用可配置,随机和反向正则表达式 。 使用JDBC驱动程序连接到任何数据库,对结构进行反向工程,并将其作为ER图查看。 利用具有文本自动完成功能,Groovy脚本支持,脚本和查询执行功能的强大SQL编辑器。 将数据从...

    nexus-scripts:Sonatype nexus 3 groovy 脚本来列出和删除资产

    基于正则表达式列出或删除资产的 groovy 脚本部署脚本provision.sh -h https://repository.host.com -u admin -p ****删除脚本delete.sh -h https://repository.host.com -u admin -p ****调用脚本删除Maven存储库中...

    blog:记录学习中的一些新技能

    正则表达式 精彩文章 王垠的博客主页 究竟什么是技术——非科班程序员两年的内心挣扎 一个10年IT技术人的历程-Java架构师的演变 阿里高级技术专家:如何量化考核技术人的KPI? 黎活明给程序员的忠告 阿里巴巴高级...

    fun-with-thoughtworks-hw:台湾家庭作业之一的解决方案。 要求未公布,以保持 TW 公平的招聘过程

    解决方案简单(可能不是最优的)算法,基于带有 First Fit Descending “trick”的工装...” 对正则表达式很重要。 实体中没有实现参数验证Equals/HashCode 和 Comparator 没有针对尴尬的空情况进行测试。 通常使用

Global site tag (gtag.js) - Google Analytics