在JavaScript中,我有以下代码:
function replaceURLWithHTMLLinks(text) {
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(exp,"<a href='$1'>$1</a>");
}
它将输入字符串中的所有URL替换为一个被锚点标签包裹的版本,以将其转换为链接。我正在尝试使用以下函数在Java中复制此功能:
private String replaceURLWithHTMLLinks(String text) {
String pattern = "/(\\b(https?|ftp|file):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/i";
return text.replaceAll(pattern, "<a href=\"$1\">$1</a>");
}
然而,尽管它在JavaScript中运行良好,但在Java中没有找到任何匹配项,即使输入字符串相同。我需要在模式中更改一些内容,还是出了什么问题?