Bagaimana untuk Mencapai Fungsi preg_replace_callback() PHP dalam Java?

Barbara Streisand
Lepaskan: 2024-11-07 14:55:03
asal
1005 orang telah melayarinya

How to Achieve PHP's preg_replace_callback() Functionality in Java?

Alternatif Java kepada preg_replace_callback PHP

Apabila peralihan kod daripada PHP ke Java, cabaran biasa timbul dalam mencari yang setara untuk fungsi preg_replace_callback() PHP. Fungsi ini membolehkan penggunaan fungsi panggil balik untuk setiap padanan dalam ungkapan biasa, menghantar teks padanan sebagai hujah.

Contoh PHP

Pertimbangkan kod PHP berikut:

$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText);

function thumbReplace($matches) {
   global $photos;
   return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">";
}
Salin selepas log masuk

Java Equivalent

Di Java, pendekatan yang setanding boleh dicapai menggunakan kaedah appendReplacement() dan appendTail() dalam gelung:

StringBuffer resultString = new StringBuffer();
Pattern regex = Pattern.compile("regex");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
  // Vary replacement text dynamically for each match
  regexMatcher.appendReplacement(resultString, "replacement");
}
regexMatcher.appendTail(resultString);
Salin selepas log masuk

Kod ini memberikan kefleksibelan untuk sesuaikan teks gantian secara dinamik untuk setiap padanan, meniru fungsi panggil balik dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi preg_replace_callback() PHP dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan