【发布时间】:2014-06-07 04:49:01
【问题描述】:
我正在尝试使用正则表达式来解析 bbcode,到目前为止我可以使这个正则表达式正常工作
if re.search("(\[b\])", m, re.IGNORECASE):
r = re.compile(r"\[b\](?P<name>.*?)\[\/b\]", re.IGNORECASE)
m = r.sub(r'<b>\1</b>', m)
但是在这种情况下,我需要使用多个正则括号来捕获字体的样式和包含在字体 bbcode 中的内容,例如
[f color="#fff" ...]string[/f]
,我无法让它正常工作,因为输出总是这样结束
string</font>
这是我的正则表达式代码。我不知道我在这里做错了什么..
if re.search("(\[f .*?\])", m, re.IGNORECASE):
r = re.compile(r"\[f (?P<tag>.*?)\](?P<name>.*?)\[\/f\]", re.IGNORECASE)
m = r.sub(r'<font \g<tag>>\g<name></font>', m)
【问题讨论】: