Javascript 需要regex帮助将BBCode标记转换为HTML标记吗

Javascript 需要regex帮助将BBCode标记转换为HTML标记吗,javascript,regex,Javascript,Regex,我有一个Javascript正则表达式 /\[([^:]*)\]/gi 基本上,它需要做的是获取[]的内容并将其放在HTML标记src中。就像BBS论坛一样 问题是当我将输入作为[somesrc]时,我会得到正确的结果,但当我的行中有多个[somesrc][someothersrc]时,正则表达式会匹配第一个和最后一个括号之间的所有内容(即somesrc][someothersrc) 你能帮我吗 谢谢尝试使用/\[([^::*?)\]/gi 有关更多信息,请参阅。您想要的是惰性量词。因此,将*

我有一个Javascript正则表达式

/\[([^:]*)\]/gi
基本上,它需要做的是获取[]的内容并将其放在HTML标记src中。就像BBS论坛一样

问题是当我将输入作为[somesrc]时,我会得到正确的结果,但当我的行中有多个[somesrc][someothersrc]时,正则表达式会匹配第一个和最后一个括号之间的所有内容(即somesrc][someothersrc)

你能帮我吗

谢谢

尝试使用
/\[([^::*?)\]/gi


有关更多信息,请参阅。

您想要的是惰性量词。因此,将
*
替换为
*?
,它应该会神奇地工作。

使用以下模式:
\[([^::*?)\]
。将
*
放在
*
之后,使其惰性。

这应该满足您的需要:

myString.replace(/\[(.*?)\](.*?)\[/\1\]/gi, "<$1>$2</$1>")
myString.replace(/\[(.*?\])(.*?\[/\1\]/gi,“$2”)

顺便说一句,你需要避开那些括号。@SteveWang:是的,它们没有出现在未格式化的代码中。请尝试一个更好的帖子标题(类似于“正则表达式匹配太多”)。标题为“需要正则表达式帮助”的问题已经太多了.克里斯,如果我懂英语或者能用任何一种口语表达自己,我将不是一名开发者,而是一名教师。这是这个社区的美妙之处,你可以在谷歌上搜索,即使你的问题乱七八糟,你也会找到答案。这仍然不能完全免除你试图想出一个有趣的问题标题的责任NK要求快速回答,但阿齐兹的魔力变小了,因此你得到+1,他当然在你的帮助下得到了答案……抱歉,作为一个共产主义者