问题:转
"My Testtext TARGETSTRING My Testtext"
Run Code Online (Sandbox Code Playgroud)
成
"My Testtext targetstring My Testtext"
Run Code Online (Sandbox Code Playgroud)
Perl支持可以在替换字符串中使用的"\ L"操作.
Pattern-Class不支持此操作:
此类不支持的Perl构造:[...]预处理操作\ l\u,\ L和\ U. https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html
我正在将应用程序从PHP迁移到Java,并且在代码中大量使用正则表达式.我在PHP中遇到过似乎没有java等价物的东西:
preg_replace_callback()
Run Code Online (Sandbox Code Playgroud)
对于正则表达式中的每个匹配,它调用一个函数,该函数将匹配文本作为参数传递.作为示例用法:
$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText);
# ...
function thumbReplace($matches) {
global $photos;
return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">";
}
Run Code Online (Sandbox Code Playgroud)
在Java中这样做的理想方法是什么?