用于bbcode中的十六进制颜色代码的正则表达式?

Raju yourPepe

我目前正在尝试测试符合以下条件的正则表达式模式:

[#123456]

[#aabc36]

然后转换为HTML代码:

<FONT COLOR="#123456">

但是如果模式像:

[/#123456]

然后被替换为

</FONT>

我尝试了以下模式:

\\[#[A-Fa-f0-9]{6}\\]|\\[[A-Fa-f0-9]{3}\\]

但是失败了。

我想要的是将提取的十六进制颜色代码替换为HTML字体颜色以进行替换。

下面是我的正则表达式替换方法:

public String replaceColor(String text  , String imageLocation ){

    StringBuffer imageBuffer = new StringBuffer (""); 

    String bbcode = "\\[#[A-Fa-f0-9]{6}\\]|\\[[A-Fa-f0-9]{3}\\]";

    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("<FONT COLOR=\"#123456\">");
        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();
}
叶夫根尼(Evgeniy Dorofeev)

尝试这个

    s = s.replaceAll("\\[#(\\w{6}|\\w{3})]", "<FONT COLOR=\"#$1>\">")
             .replaceAll("\\[/#(\\w{6}|\\w{3})]", "</FONT>");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于搜索十六进制颜色代码的正则表达式

来自分类Dev

正则表达式颜色的十六进制模式

来自分类Dev

如何使用循环正则表达式和数组验证十六进制颜色?

来自分类Dev

十六进制正则表达式

来自分类Dev

正则表达式十六进制,带例外

来自分类Dev

只允许十六进制正则表达式

来自分类Dev

正则表达式,用于匹配十六进制表示法的灰色

来自分类Dev

正则表达式,用于字符串的十六进制组合

来自分类Dev

用于匹配十六进制数字的正则表达式?

来自分类Dev

匹配#tags但不匹配十六进制代码的正则表达式

来自分类Dev

正则表达式删除剩余的 ascii 十六进制代码

来自分类Dev

Vim正则表达式-替换中的十六进制字符?

来自分类Dev

Vim正则表达式-替换中的十六进制字符?

来自分类Dev

十六进制颜色代码多个

来自分类Dev

Perl:正则表达式,将十进制更改为十六进制

来自分类Dev

十六进制和八进制ASCII正则表达式

来自分类Dev

如何在C中编写正则表达式以查找字符串是否为十六进制

来自分类Dev

正则表达式匹配8或12或32十六进制数

来自分类Dev

匹配十六进制表示的字节正则表达式

来自分类Dev

Python正则表达式搜索十六进制字节

来自分类Dev

C#正则表达式异常-十六进制数字不足

来自分类Dev

正则表达式问题删除十六进制LF

来自分类Dev

正则表达式以匹配十六进制和复杂字符之间的数字

来自分类Dev

C#正则表达式异常-十六进制数字不足

来自分类Dev

正则表达式:非法的十六进制转义序列

来自分类Dev

正则表达式:如何以十六进制指定覆盖Unicode符号集合的范围

来自分类Dev

正则表达式文件,名称和数字/十六进制交替显示

来自分类Dev

检查数字是 3 位还是 6 位十六进制的正则表达式

来自分类Dev

带有十六进制部分的复杂正则表达式

Related 相关文章

  1. 1

    用于搜索十六进制颜色代码的正则表达式

  2. 2

    正则表达式颜色的十六进制模式

  3. 3

    如何使用循环正则表达式和数组验证十六进制颜色?

  4. 4

    十六进制正则表达式

  5. 5

    正则表达式十六进制,带例外

  6. 6

    只允许十六进制正则表达式

  7. 7

    正则表达式,用于匹配十六进制表示法的灰色

  8. 8

    正则表达式,用于字符串的十六进制组合

  9. 9

    用于匹配十六进制数字的正则表达式?

  10. 10

    匹配#tags但不匹配十六进制代码的正则表达式

  11. 11

    正则表达式删除剩余的 ascii 十六进制代码

  12. 12

    Vim正则表达式-替换中的十六进制字符?

  13. 13

    Vim正则表达式-替换中的十六进制字符?

  14. 14

    十六进制颜色代码多个

  15. 15

    Perl:正则表达式,将十进制更改为十六进制

  16. 16

    十六进制和八进制ASCII正则表达式

  17. 17

    如何在C中编写正则表达式以查找字符串是否为十六进制

  18. 18

    正则表达式匹配8或12或32十六进制数

  19. 19

    匹配十六进制表示的字节正则表达式

  20. 20

    Python正则表达式搜索十六进制字节

  21. 21

    C#正则表达式异常-十六进制数字不足

  22. 22

    正则表达式问题删除十六进制LF

  23. 23

    正则表达式以匹配十六进制和复杂字符之间的数字

  24. 24

    C#正则表达式异常-十六进制数字不足

  25. 25

    正则表达式:非法的十六进制转义序列

  26. 26

    正则表达式:如何以十六进制指定覆盖Unicode符号集合的范围

  27. 27

    正则表达式文件,名称和数字/十六进制交替显示

  28. 28

    检查数字是 3 位还是 6 位十六进制的正则表达式

  29. 29

    带有十六进制部分的复杂正则表达式

热门标签

归档