在Groovy中编写正则表达式

与Java相比, 在Groovy中编写正则表达式(regexes)简直是一种乐趣。在 Java中, regexes编程不仅需处理Pattern和Matcher对象,而且还要编写繁琐的 样板代码(boilerplate coding)。而Groovy对这两个Java对象做了简单封装, 添加了一些额外的实用方法,并给出一个简化的新的语法和3个新的操作符。

Groovy中,您可用slashy(斜线)语法“/../”定义字符串。这样以来便可避 免在Java正则表达式中使用过多的反斜线。例如:

assert (/Hello World/ in String)assert (/Hi \there/ == 'Hi \\there')

Groovy新增的第1个正则表达式操作符便是模式操作符(~),它使得字符串被 编译成一个Pattern实例。例如:

p = ~/\b[a-zA-Z]\b/

也可使用Java实现,如:

import java.util.regex.*Pattern p = Pattern.compile("\\b[a-zA-Z]\\b");

表3.1中列出了常用的正则表达式模式及含义。完整的正则表达式清单可参考 Pattern API文档, http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html。

表3.1 常用的正则表达式模式

模式 含义

a?

尽可能匹配1次a,也可以不匹配

a*

表达式尽可能的多匹配a,最少可以不匹配

a+

尽可能的多匹配a,至少匹配1次

a|b

匹配a或b

(ab)

分组

.

匹配任意一个字符

[abc]

匹配a,b或c

[^abc]

匹配除了a,b或c的任意一个字符

[a-z]

匹配a到z之间的任意一个字母

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索正则表达式
, groovy
, java匹配
, 模式
, 操作符
, pattern
一个
groovy 正则表达式、groovy正则表达式小结、groovy脚本编写、正则表达式编写工具、编写正则表达式,以便于您获取更多的相关知识。

时间: 2024-11-01 14:41:37

在Groovy中编写正则表达式的相关文章

用Python编写网络爬虫(七):Python中的正则表达式教程

接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容. 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器. 一. 正则表达式基础 1.1.概念介绍 正则表达式是用于处理字符串的强大工具,它并不是Python的一部分. 其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同. 它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的. 下

在ASP中利用“正则表达式” 对象实现UBB风格的论坛

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

ASP中利用“正则表达式” 对象实现UBB代码

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

在ASP中利用正则表达式 对象实现UBB风格的论坛(转)

ubb|对象|正则 在ASP中利用"正则表达式" 对象实现UBB风格的论坛     转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么

在Groovy中使用字符串

Groovy支持两种类型字符串:一般的Java字符串,它是java.lang.String的实例:和GStrings,它是 groovy.lang.GString的实例,并且允许文本中包含占位符.GStrings并不是String的子类,因为String 类是最终类(final class)不能被继承.然而,GString与一般的字符串一样,因为Groovy能将 GStrings转型为Java strings. GString 适用于编写模板代码(templating),因为您必须动态构建字符串

javascript中的正则表达式使用指南

 这篇文章主要给大家介绍了Javascript中的正则表达式的使用方式,非常的详细,并附上简单示例,这里推荐给大家.     使用方式 1.创建表达式 JavaScript中创建正则表达式类的方法: var regex = new RegExp("d{5}") 或者 2.var regex = / d{5} /(推荐) /表达式/是JavaScript中专门为简化正则表达式编写而提供的语法,写在//中的正则表达式就不用管转义符了. RegExp对象的方法: 2.判断是否匹配 test(

ASP.NET 中的正则表达式_正则表达式

摘要:正则表达式是一种处理文本的有用工具.无论是验证用户输入.搜索字符串内的模式.还是以各种有效方式重新设置文本格式,正则表达式都非常有用.下载本文的源代码.引言Microsoft.NET Framework 对正则表达式的支持是一流的,甚至在 Microsoft ASP.NET 中也有依赖正则表达式语言的控件.本文介绍了深入学习正则表达式的基础知识和推荐内容. 本文主要面向对正则表达式知之甚少或没有使用经验,但却熟悉 ASP.NET.可借助 .NET 编程的初学者.此外,希望本文连同 regu

javascript中的正则表达式使用指南_javascript技巧

使用方式 1.创建表达式 JavaScript中创建正则表达式类的方法: var regex = new RegExp("\\d{5}") 或者 2.var regex = / \d{5} /(推荐) /表达式/是JavaScript中专门为简化正则表达式编写而提供的语法,写在//中的正则表达式就不用管转义符了. RegExp对象的方法: 2.判断是否匹配 test(str)判断字符串str是否匹配正则表达式,相当于IsMatch 复制代码 代码如下:         var rege

EditPlus中的正则表达式实战(5)_正则表达式

相关阅读: EditPlus中的正则表达式 实战(1) EditPlus中的正则表达式 实战(2) EditPlus 正则表达式 实战(3) EditPlus中的正则表达式 实战(4) EditPlus中的正则表达式实战(5) EditPlus中的正则表达式实战(6) HUANZHEXM病人姓名 SHENFENZH身份证 RUYUANSJ入院时间 RUYUANKSMC入院科室名称 CHUYUANSJ出院时间 CHUYUANKSMC出院科室名称 RUYUANZZDDM入院诊断代码 RUYUANZZ