查找bbCode之间的文本



我正在尝试从字符串中删除BBCode。

这是myString:

String wording = "Teststring 
[URL="http://www.test.ch/status"]http://www.test.ch/status[/URL] [IMG]http://sit.corproot.net/uploads/659_untitled.png[/IMG] nn"

我已经试过这个了:

  wording?.replaceAll("\[URL=".*\](.*?)\[/URL\]", "")

我的目标字符串应该是:

Teststring http://www.test.ch/status nn"

但当我运行代码时,它不会取代任何

我做错了什么?

亲切问候

public static void main(String[] args) {
  String s = "Teststring URL="http://www.test.ch/status"]http://www.test.ch/status[/URL] [IMG]http://sit.corproot.net/uploads/659_untitled.png[/IMG] nn";
  Pattern p = Pattern.compile("(?s)^(\w+)[^\[]+\[URL="(.*)"\].*");
  Matcher m = p.matcher(s);
  if (m.matches()) {
      System.out.println(String.format("%s %s \n\n", m.group(1), m.group(2)));
  }
}

输出:

Teststring http://www.test.ch/status nn

Regex:

s*[URL=\".*](.*?)[/URL]|s*[IMG].*?[/IMG]s*

Java正则表达式字符串应该是,

"\s*\[URL=\\".*\](.*?)\[\/URL\]|\s*\[IMG\].*?\[\/IMG\]\s*"

替换字符串:

 $1

演示

最新更新