如果我要匹配像匹配BB顏色代碼Android應用/ JAVA
[black]something[/black]
[orange]something[/orange]
下面的模式,並將其更改爲HTML代碼<span style="color:black">something</span>
但不能改變那些不配對的像[black]hello[/orange]
如何我寫的正則表達式來識別它們?
如果我要匹配像匹配BB顏色代碼Android應用/ JAVA
[black]something[/black]
[orange]something[/orange]
下面的模式,並將其更改爲HTML代碼<span style="color:black">something</span>
但不能改變那些不配對的像[black]hello[/orange]
如何我寫的正則表達式來識別它們?
這裏是解決辦法,因爲在評論中提到:
public static String bbcode(String text) {
String html = text;
Map<String,String> bbMap = new HashMap<String , String>();
bbMap.put("\\[black\\](.+?)\\[/black\\]", "<span style='color: black;'>$1</span>");
bbMap.put("\\[orange\\](.+?)\\[/orange\\]", "<span style='color: orange;'>$1</span>");
// add other colors
for (Map.Entry entry: bbMap.entrySet()) {
html = html.replaceAll(entry.getKey().toString(), entry.getValue().toString());
}
return html;
}
使用KefirBB。它是可配置的文本翻譯開源庫。
要分析只有BB顏色代碼,或者還有其他的BB代碼? – Raptor
可能重複的[Java BBCode庫](http://stackoverflow.com/questions/849396/java-bbcode-library) – Raptor
@ShivanRaptor此時只有BB顏色代碼,我已經解析了一些代碼,有些代碼可能會解析它後來。 – benleung