1

我想用定义的 URL 和查询字符串中的原始链接替换 ​​HTML 页面上的所有链接。

这是一个例子:

"http://www.ex.com abc http://www.anotherex.com" 

应替换为:

"http://www.newex.com?old=http://www.ex.com ABC http://www.newex.com?old=http://www.anotherex.com"

我考虑过使用replaceAll,但我不知道如何在替换中重用正则表达式模式。

4

2 回答 2

2

就像是

String processed = yourString.replaceAll([ugly url regexp],"http://www.newex.com?old=$0")

$0 是对正则表达式的主要捕获组的引用。查看Matcher.appendReplacement的文档

对于一个有价值的正则表达式,你可以从这里选择例如

于 2013-02-26T20:30:52.803 回答
1

我会通过执行以下操作来解决此问题:

List<String> allMatches = new ArrayList<String>();
Matcher m = Pattern.compile("regex here")
  .matcher(StringHere);
while (m.find()) {
allMatches.add(m.group());
}

for(String myMatch : allMatches)
{
  finalString = OriginalString.replace(myMatch, myNewString+myMatch);
}

我没有对此进行任何测试,但它应该让您了解如何处理它

于 2013-02-26T20:30:35.957 回答