// 定义正则表达式,里面的特殊字符会自动转义
~// 定义正则表达式,会将字符串编译成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是一种基于Java平台的动态编程语言,它扩展了Java的功能,包括对正则表达式的处理。在Groovy中,正则表达式是通过`~`运算符或者使用斜杠(`/`)来定义的。这种特性使得Groovy在处理...
#### 一、Groovy正则表达式的定义与使用 在Groovy中,正则表达式(Regular Expression)是一种强大的工具,用于处理文本中的模式匹配、查找、替换等操作。Groovy支持多种方式定义正则表达式,包括通过双斜线`//`、...
### Groovy正则表达式详解 #### 一、引言 在编程领域中,正则表达式(Regular Expressions)是一种强大的文本处理工具,被广泛应用于字符串搜索与替换等操作中。Groovy作为一种灵活的脚本语言,在处理文本时尤其...
在Groovy中,可以使用`=~`运算符将字符串与正则表达式进行匹配,返回一个匹配结果的Matcher对象。例如: ```groovy def text = 'Hello, Groovy!' def matchResult = text =~ /Groovy/i // 使用/i忽略大小写 if ...
早期我用c#开发了一个正则表达式工具,而现在这个版本是我用java实现的。 众所周知,java在桌面应用方面一直是短板,c#则有着天然的优势。然作为一个java开发人员,采用java的编程思想来实现此功能还是很有必要的。
### Android Studio 3.X 正则表达式更新指南 随着Android Studio不断迭代更新,开发者们在升级至新版本时往往需要对旧项目进行相应的配置调整。对于从早期版本升级到Android Studio 3.X的项目来说,一个常见的问题...
在这个“groovy代码-测试正则表达式”的主题中,我们将深入探讨Groovy中的正则表达式使用及其相关知识点。 1. **正则表达式基础** 正则表达式(Regular Expression)是由字符和特殊符号组成的模式,用于描述字符串...
本教程主要参考自网上最普遍的《正则表达式30分钟入门教程》(http://deerchao.net/tutorials/regex/regex.htm),这是一个非常优秀的教程,深入浅出讲解了正则表达式的基本概念,更加深入的内容可以参考CSDN上过客...
3. **代码生成**:对于多种编程语言(如Perl、PostgreSQL、Delphi Prism、Groovy和MySQL等,这些语言的配置文件在压缩包内均有体现),RegexBuddy可以自动生成对应的源代码片段,方便用户快速将正则表达式集成到项目...
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合、内置正则表达式和闭包。编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试。借助功能完善的 Groovy 开发环境和使用技能,...
- **正则表达式**: Groovy内置了强大的正则表达式支持。 通过以上内容的学习,读者将能够了解Groovy的基本概念、主要特性和开发环境设置方法,同时也能掌握Groovy的基本语法和一些进阶技巧。这些知识点为后续深入...
这里的`regex`参数是一个正则表达式,用于定义分割字符串的规则。例如,如果你有一个逗号分隔的字符串,你可以这样做: ```groovy def str = "apple,banana,grape" def parts = str.split(",") println parts // ...
- 字符串插值和正则表达式的使用,如`println("Mynameis${name}")`和`'groovy'.contains('oo')`; - if-else和switch语句的Groovy实现; - for循环和范围操作的使用,如`for(iin0..9){x+=i}`; - 使用断言`assert`来...
17. **运算符**:Groovy支持多种运算符,如算术运算符、条件运算符、字符串运算符、正则表达式运算符、集合运算符和对象运算符等。运算符重载、位运算符和复合赋值运算符也是重点。 18. **赋值运算符**:Groovy的...
- **内置正则表达式**:Groovy内置了对正则表达式的强大支持,无需导入额外库即可实现文本匹配和替换等操作,简化了字符串处理的复杂度。 - **闭包**:闭包是Groovy中一个非常强大的特性,允许函数作为第一类公民,...