Java 相當於 PHP 的 preg_replace_callback
PHP 函數 preg_replace_callback() 為正則表達式中找到每個符合項表達式的函數。 Java 是否提供了等效的功能?
Java 的替代方案:擁抱本機方法
雖然Java 沒有提供與preg_replace_callback() 直接等效的功能,但它確實為我們提供了支援使用利用Matcher 和StringBuffer 的替代方法。以下是獲得類似結果的方法:
第1 步:編譯正規表示式
Matcher regexMatcher = regex.matcher(subjectString);
第2 步:迭代匹配
while (regexMatcher.find())第3 步:動態修改替換文本
regexMatcher.appendReplacement(resultString, "replacement");第4 步:附加上下文尾
regexMatcher.appendTail >範例:
StringBuffer resultString = new StringBuffer(); Pattern regex = Pattern.compile("\[thumb(\d+)\]"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { regexMatcher.appendReplacement(resultString, "<img src=\"thumbs/" + photos[regexMatcher.group(1)] + "\">"); } regexMatcher.appendTail(resultString);透過執行以下步驟,您可以在Java 中無縫地重新調整PHP 程式碼的用途,並透過自訂取代優雅地處理正規表示式匹配。
以上是Java 中是否有與 PHP 的 preg_replace_callback() 等效的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!