我目前正在测试的正则表达式匹配以下Java的正则表达式模式不匹配的括号
[#123456]
[#aabc36]
我试图#[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}
并成功匹配#aabc36
但是当涉及到添加括号[],它失败。下面
我曾尝试以下模式匹配
[#[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}]
是我的正则表达式替换
public String replaceColor(String text , String bbcode , String imageLocation){
//"\\[("+bbcode+")\\]" for [369] , [sosad]
// String imageLocation = "file:///android_asset/smileyguy.png";
// builder.append("<img src=\"" + imageLocation + "\" />");
StringBuffer imageBuffer = new StringBuffer ("");
// Pattern pattern = Pattern.compile("\\"+bbcode);
Pattern pattern = Pattern.compile(Pattern.quote(bbcode));
Matcher matcher = pattern.matcher(text);
//populate the replacements map ...
StringBuilder builder = new StringBuilder();
int i = 0;
while (matcher.find()) {
//String orginal = replacements.get(matcher.group(1));
imageBuffer.append("<img src=\"" + imageLocation + "\" />");
String replacement = imageBuffer.toString();
builder.append(text.substring(i, matcher.start()));
if (replacement == null) {
builder.append(matcher.group(0));
} else {
builder.append(replacement);
}
i = matcher.end();
}
builder.append(text.substring(i, text.length()));
return builder.toString();
}
大声笑! :) –