如果我想匹配以下模式
[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;
}
关于android - 在 android app/java 中匹配 BB 颜色代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915206/