建立正規表示式匹配流
瀏覽人數:638最近更新:
1. 概述
正規表示式(regex)是模式匹配的強大工具。它們使我們能夠找到字串中的特定模式,這對於資料提取、驗證和轉換等任務非常有用。
在本教程中,我們將探索如何使用簡單的範例建立正規表示式匹配流。
2. 入門
首先,假設我們有一個包含字母和數字的字串:
String input = "There are 3 apples and 2 bananas on the table.";
我們的目標是使用正規表示式從該字串中提取所有數字,然後創建這些匹配的流。
3. 定義正規表示式
首先,我們需要定義一個可以符合數字的正規表示式模式:
String regex = "\\d+";
在此正規表示式中, \d+
符合一位或多位數字。雙反斜線\\
用於轉義反斜線字符,因為它是 Java 中的特殊字符。
4. 建立匹配Stream
接下來,我們將透過將定義的模式應用於輸入字串來建立Matcher
物件:
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
最後,我們將匹配到的數字轉為流。我們將使用matcher.results()
,這是 Java 9 中引入的新方法:
Stream<String> outputStream = matcher.results().map(MatchResult::group);
//Process elements in the stream
outputStream.forEach(System.out::println);
matcher.results()
方法傳回MatchResult
物件的流。每個物件對應於基於正規表示式模式在輸入字串中找到的不同匹配項。然後,我們可以使用該物件的group()
方法來取得匹配的String.
5. 結論
在本文中,我們學習如何使用從字串中提取數字的簡單範例來建立正規表示式匹配流。
本文中的範例程式碼可以 在 GitHub 上找到。
本作品係原創或者翻譯,採用《署名-非商業性使用-禁止演繹4.0國際》許可協議