`
txf2004
  • 浏览: 6831794 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Groovy Tip 19 正则表达式 二

阅读更多

Groovy Tip 19 正则表达式

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

我们在前一篇的《正则表达式》中重点谈到了Groovy语言的一些重要的通配符,可以说那些通配符是一些标准的和基础的通配符。看过了那些通配符以后,我就常常在想,Groovy语言作为一种敏捷性的动态语言,会不会有一些更为方便的通配符呢?

如我们所愿,Groovy语言为我们提供了如下的一些更为简便的通配符:

\d 数字字符

\D 非数字字符

\s 空格符

\S 非空格符

\w 文字字符

\W 非文字字符

\b 单词标记

^ 语句行的开头

$ 语句行的结尾

可以看到,这些通配符正是在以前通配符的基础上,对一些常用的正则表达式做进一步的通配,以达到简化我们编码的目的。下面试举几个例子来看看这些通配符的用法。

通配符“\d”就是对数字字符的通配,比如:

def str3 = '3'

println str3 ==~ /\d/

就打印“true”,而

def str8 = 'a'

println str8 ==~ /\d/

就打印“false”。

我们在前一篇的《正则表达式》中有一个匹配数字的例子,是这样的:

def str = '1000.31'

def re = /[0-9]+(\.[0-9]+)?/

println str ==~ re

这个正则表达式就有点长了,我们现在使用“\d”通配符就可以把上面的正则表达式简化成下面的样子:

def re = /\d+(\.\d+)?/

def str = 1000.31

println str ==~ re

而“\D”匹配的则是非数字,如:

def str4 = 'w'

println str4 ==~ /\D/

\s”匹配的是空格,如:

println ' ' ==~ /\s+/

所有非空格的通配符则是“\S”。

\w”匹配的是单词的字母,相当于“/[a-zA-Z]/”,如:

def str1 = 'a'

println str1 ==~ /\w/

而所有的非单词字母符号的通配符为“\W”,如:

def str5 = '&'

println str5 ==~ /\W/

\b”指的是单词标记,如:

def hw = 'hello'

println hw ==~ /\b\w+\b/

以“ed”结尾的过去式的匹配为:

def word = 'moved'

println word ==~ /\b\w+ed\b/

而下面的例子则不匹配:

def w1 = 'ran'

println w1 ==~ /\b\w+ed\b/

而“^”则注意要跟“[^]”区别开来,“^”表示以什么开头,而“[^]”则表示非。如下面所示的例子。

下面的例子表示非abc三个字母的所有符号:

println 'f' ==~ /[^abc]/

下面的例子则不匹配:

println 'b' ==~ /[^abc]/

而下面的例子则表示以“abc”开头的匹配:

println 'abcd' ==~ /^abc./

而下面的例子却不匹配:

println 'adcd' ==~ /^abc./

分享到:
评论

相关推荐

    groovy正则表达式基础1

    Groovy 正则表达式 Groovy正则表达式语法 背景项目使用Gradle作为自动化构建的工具, 闲暇之余对这个工具的使用方式以及其配置文件依赖的Groov

    正则表达式工具(java版)

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

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

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

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

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

    groovy正则表达式使用1

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

    groovy代码-测试正则表达式

    groovy代码-测试正则表达式

    正则表达式教程

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

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

    什么是正则表达式呢? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等。 先科普一下基本的...

    groovy代码-groovy 表达式练习

    groovy代码-groovy 表达式练习

    apache-groovy-sdk-2.4.11

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

    Groovy Tip 21 魔幻数组 一

    Groovy Tip 21 魔幻数组

    apache-groovy-sdk-3.0.9.zip

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

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

    Nexus储存库CPAN格式 目录 发展 要求 通过网络访问 另外,有大量可用信息 建造 要构建项目并生成捆绑包,请使用Maven mvn clean install 如果一切顺利,则CPAN捆绑软件应在target文件夹中可用 ...

    Groovy学习笔记

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

    Groovy 教程

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

    Groovy介绍-入门

    Groovy介绍 什么是Groovy Groovy基本语法 Groovy正则 Java调用Groovy Groovy模板 Groovy应用

Global site tag (gtag.js) - Google Analytics