正则表达式工具 |
grep |
PowerGREP |
RegexBuddy |
RegexMagic |
通用应用程序 |
EditPad Lite |
EditPad Pro |
语言和库 |
Boost |
Delphi |
GNU (Linux) |
Groovy |
Java |
JavaScript |
.NET |
PCRE (C/C++) |
PCRE2 (C/C++) |
Perl |
PHP |
POSIX |
PowerShell |
Python |
R |
Ruby |
std::regex |
Tcl |
VBScript |
Visual Basic 6 |
wxWidgets |
XML Schema |
Xojo |
XQuery 和 XPath |
XRegExp |
数据库 |
MySQL |
Oracle |
PostgreSQL |
更多内容 |
简介 |
正则表达式快速入门 |
正则表达式教程 |
替换字符串教程 |
应用程序和语言 |
正则表达式示例 |
正则表达式参考 |
替换字符串参考 |
书籍评论 |
可打印 PDF |
关于此网站 |
RSS Feed 和博客 |
由于 Groovy 基于 Java,因此可以在 Groovy 中使用 Java 的正则表达式包。只需在 Groovy 源代码的顶部放置 import java.util.regex.*。然后,使用正则表达式的任何 Java 代码也会自动在 Groovy 代码中运行。
使用冗长的 Java 代码在 Groovy 中处理正则表达式不会非常 groovy。Groovy 有一系列语言特性,使使用正则表达式的代码更加简洁。你可以将 Groovy 特定的语法与常规 Java 代码混合使用。所有这些都基于 java.util.regex 包,无论如何都需要导入该包。
Java 仅有一种字符串样式。字符串置于双引号之间。字符串中的双引号和反斜杠必须用反斜杠转义。这会在正则表达式文本中产生大量的反斜杠。
Groovy 有五种字符串样式。字符串可以置于单引号、双引号、三重单引号和三重双引号之间。使用三重单引号或双引号允许字符串跨越多行,这对于自由间隔正则表达式非常方便。不幸的是,这四种字符串样式都需要转义反斜杠。
第五种字符串样式专门为正则表达式提供。字符串置于正斜杠之间,并且字符串中只有正斜杠(而不是反斜杠)需要转义。这实际上是一种字符串样式。/hello/ 和 "hello" 都是 java.lang.String 的文字实例。不幸的是,以正斜杠分隔的字符串不能跨行,因此不能将它们用于自由间距正则表达式。
要实际将字符串用作正则表达式,需要实例化 java.util.regex.Pattern 类。要实际对字符串使用该模式,需要实例化 java.util.regex.Matcher 类。在 Groovy 中使用这些类就像在 Java 中一样。但 Groovy 提供了一些特殊的语法,允许使用更少的键入创建这些实例。
要创建一个 Pattern 实例,只需在包含正则表达式的字符串前放置波浪号。该字符串可以使用 Groovy 的五种字符串样式中的任何一种。将此模式分配给变量时,确保在赋值运算符和波浪号之间留一个空格。
Pattern myRegex = ~/regex/
实际上,你不会经常以这种方式实例化模式。唯一需要 Pattern 实例的时间是分割字符串,这要求你调用 Pattern.split()。要查找正则表达式匹配或使用正则表达式进行搜索和替换,你需要一个 Matcher 实例,该实例将模式绑定到字符串。在 Groovy 中,可以使用 =~ 运算符直接从包含正则表达式的文字字符串创建此实例。这次 = 和 ~ 之间没有空格。
Matcher myMatcher = "subject" =~ /regex/
此短语表示
Matcher myMatcher = Pattern.compile(/regex/).matcher("subject")
最后,==~ 运算符是一种快速方法,用于测试正则表达式是否可以完全匹配字符串。myString ==~ /regex/ 等效于 myString.matches(/regex/)。要查找部分匹配,需要使用 Matcher。
如果你想要更详细地了解 java.util.regex 包提供的所有功能,你可能需要获取 Mehran Habibi 撰写并由 Apress 出版的“Java 正则表达式”的副本。尽管本书完全没有提到 Groovy,但它是 java.util.regex 包最详细的指南,而这正是你在 Groovy 中使用的。Groovy 仅添加了一些语法快捷方式,这些快捷方式都在本网页上进行了说明。
| 快速入门 | 教程 | 工具和语言 | 示例 | 参考 | 书籍评论 |
| grep | PowerGREP | RegexBuddy | RegexMagic |
| EditPad Lite | EditPad Pro |
| Boost | Delphi | GNU (Linux) | Groovy | Java | JavaScript | .NET | PCRE (C/C++) | PCRE2 (C/C++) | Perl | PHP | POSIX | PowerShell | Python | R | Ruby | std::regex | Tcl | VBScript | Visual Basic 6 | wxWidgets | XML 模式 | Xojo | XQuery 和 XPath | XRegExp |
| MySQL | Oracle | PostgreSQL |
页面网址:https://regexper.cn/groovy.html
页面上次更新时间:2021 年 8 月 24 日
网站上次更新时间:2024 年 3 月 15 日
版权所有 © 2003-2024 Jan Goyvaerts。保留所有权利。