在Android app / java中匹配BB颜色代码

时间:2013-07-29 02:29:26

标签: android regex

如果我想匹配以下模式,如

[black]something[/black] [orange]something[/orange]

并将其更改为HTML代码<span style="color:black">something</span>

但不要改变那些没有配对的人[black]hello[/orange]

如何编写正则表达式来识别它们?

2 个答案:

答案 0 :(得分:1)

以下是解决方案,如评论中所述:

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;
}

答案 1 :(得分:1)

使用KefirBB。它是用于文本翻译的可配置开源库。

http://kefirsf.org/kefirbb/