(\[(c|C)=)(#?([a-fA-F0-9]{1,2}){3})\](.*)\[/(c|C)\]
我希望此表达式匹配如下文本:“This is [c=FFFFFF]white text[/c] and [C=#000]black text[/C]。”
它确实会单独匹配一个 BB 代码,但如果有更多的 BB 代码(如示例中所示),它将创建两个 BB 代码序列的匹配(1 个匹配)。 (从 [c=FFFFFF]wh... 到 ...ck 文本[/C])
为什么会这样?另外,如何在 C# 中使点 (.) 包含换行符?
请您参考如下方法:
如果你不关心嵌套标签,你可以这样做:
(\[[cC]=)(#?([a-fA-F0-9]{3}){1,2})\](.*?)\[/[cC]\]
// ^- lazy match
如果你想用正则表达式处理嵌套标签,检查this article在代码项目上。
