【问题标题】:Regex for varying tags?不同标签的正则表达式?
【发布时间】:2014-06-06 23:02:04
【问题描述】:

由于我是 Regex 的新手,因此不确定我是否正确地表达了这个问题。我有一个正则表达式,用于我正在为崇高的 BBCode 处理的语法。以这种方式使用时,此正则表达式匹配良好:

(\[color=red?(.*?)\])(.*?)(\[/color\])

[color=red]红色文字[/color]

这对于匹配/分组代码非常有用。但是我将如何在比赛中捕捉不同的和额外的标签呢?例如,如果 bbcode 将显示:

[center][size=6][color=red][b]红色文字[/b][/color][/size][/center] 或

[center][size=6][color=red][i]红色文字[/i][/color][/size][/center]

该正则表达式将捕获第 3 组中的 [b] 和 [i] 标签。如果使用 [u][b][i],我将如何将 [b]/[i] 标签拆分到另一个组并包含对 [u][b][i] 的“变化”捕获?顺序也不一致。不知道如何做到这一点。

【问题讨论】:

标签: regex sublimetext2 bbcode


【解决方案1】:

这种语言不是正则的,即它不能用正则表达式来表达。 您需要一个语法和一个解析器来捕获这种语言。查看更多here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-07
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    相关资源
    最近更新 更多