嵌套BBCode的正则表达式

时间:2009-10-16 00:03:34

标签: c# regex

我正在尝试创建一个正则表达式,它将捕获BB代码,带有额外参数的BB代码([url=http://]url[/url])等,并且可以使用嵌套的BB代码正常工作。

然后我会以最内层的方式递归解析BB代码。

这是我到目前为止所做的,但是当我尝试匹配嵌套的BB代码时它会中断。

模式:

\[(.*)\b=?([^=].*)?\](.*)\[/\1\]

访问http://www.gskinner.com/RegExr/并尝试下面的模式和文字

试试这个:

[b]sdfsdf[/b]

[b=extra]sdfsdf[/b]

[b=extra]left[u]middle[/u]right[/b]

1 个答案:

答案 0 :(得分:3)

您不能使用正则表达式来创建支持嵌套的解析器;你需要用状态机自己解析字符串。

或者,reuse existing code