我从服务器那里得到文字:
sample text [myurl]link|http://sample.com[/myurl] and [myurl]link2|http://sample2.com[/myurl].
我需要从这些标签创建链接。我怎么能这样做?
答案 0 :(得分:2)
我想你需要使用这样的东西:
String s = "sample text [myurl]link|http://sample.com[/myurl]";
System.out.println(s.replaceAll("\\[([^\\]]+)\\]([^|]+)\\|(http.+?)\\[/\\1\\]", "<a href=\"$3\">$2</a>"));
请参阅IDEONE demo
<强> REGEX 强>:
\[
- 文字[
([^\]]+)
- 除]
\]
- 文字]
([^|]+)
- 除|
\|
- 文字|
(http.+?)
- 以http
开头的子字符串,然后是任意字符,但最新的字符为... \[/
- 文字[/
\1
- 对第一组捕获的文本的反向引用(BB标记名称)\]
- 文字]
。输出:
sample text <a href="http://sample.com">link</a>