| 正規表示式工具 |
| 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 Regular Expressions」一書。儘管這本書完全沒有提到 Groovy,但它是 java.util.regex 套件最詳細的指南,而這正是您在 Groovy 中使用的套件。Groovy 僅增加了一些語法捷徑,這些捷徑都已在此網頁中說明。
我對 Java Regular Expressions 一書的評論
| 快速入門 | 教學 | 工具和語言 | 範例 | 參考 | 書籍評論 |
| 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 |
頁面網址:https://regular-expressions.tutorial.tw/groovy.html
頁面最後更新:2021 年 8 月 24 日
網站最後更新:2024 年 3 月 15 日
版權所有 © 2003-2024 Jan Goyvaerts。保留所有權利。