Java 中的正規表示式命名群組
Java 平台標準版 7 (Java 7) 現在支援正規表示式中的命名擷取組。此功能可讓您參考按名稱擷取群組,從而更輕鬆地解析和處理複雜模式。
語法
要定義命名捕獲組,請使用語法:
(?<name>capturing text)
其中:
- 名稱是所需的捕獲組名稱。
- 捕捉文字表示您要捕捉的模式的部分。
要引用命名捕獲組,請使用語法:
- k;在模式中反向引用該組。
- ${name} 在匹配器的替換字串中,用捕獲的值替換文字。
- Matcher.group(String name) 用於擷取擷取的值value.
範例
例如,請考慮下列正規表示式:
"(?<login>\w+) (?<id>\d+)"
例如,請考慮下列正規表示式:
- 例如,請考慮下列正規表示式:
- 例如,請考慮下列正規表示式:
例如,請考慮下列正規表示式:
當與字串「TEST 123」相符時,此運算式會擷取下列命名群組:-
登入:「TEST」
- id:「123」
Java 7 之前的替代方案
在Java 7 之前,多個第三方函式庫提供了命名擷取群組支援。這些程式庫與目前 Java 版本的兼容性有限。一些例子包括:
Google 命名正規表示式: 可能因各種錯誤而無法啟動。請考慮其 GitHub 分支。 jregex: 一種有限的實現,不支援具有相同名稱或正規表示式內遞歸的多個命名組等功能。 結論命名捕獲組提供了一種方便靈活的方法來解析 Java 中的複雜模式。透過 Java 7 的支援和第三方程式庫的可用性,您可以利用此功能來執行各種文字處理任務。
以上是命名擷取組如何簡化 Java 中的正規表示式解析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!