Javascript 如何解析bbcode正则表达式?

Javascript 如何解析bbcode正则表达式?,javascript,regex,parsing,bbcode,Javascript,Regex,Parsing,Bbcode,我很难找到正则表达式。 我想解析除bbcode[code]之外的所有微笑 例如: [code] :D :D :D :D [/code] :D :D :D 我的正则表达式必须与bbcode中的3:D匹配 我尝试了(\[code\](.*?\[\/code\])来匹配bbcode 但是除了这个街区,我没有找到其他的方法。我在谷歌上找到了如何在(^(\[code\](.*)\[\/code\])*上破例,但不起作用 所以我的第一个问题是:如何匹配所有看起来像:D? 除了正则表达式中的一

我很难找到正则表达式。 我想解析除bbcode[code]之外的所有微笑

例如:

[code] :D  :D  :D  :D  [/code] 
 :D :D :D 
我的正则表达式必须与bbcode中的3:D匹配

我尝试了
(\[code\](.*?\[\/code\])
来匹配bbcode

但是除了这个街区,我没有找到其他的方法。我在谷歌上找到了如何在
(^(\[code\](.*)\[\/code\])*
上破例,但不起作用

所以我的第一个问题是:如何匹配所有看起来像
:D
? 除了正则表达式中的一个组(bbcode)之外,还有什么方法


谢谢你的帮助

我想这应该对你有帮助

(:D)(?=[\s\S]*?\[code\][\s\S]*?\[\/code\]+|(?![\s\S]*?\[\/code\]))
将所有
:D
的外部代码标记转换为链接的示例实现:

document.getElementById('tekt').value = document.getElementById('tekt').value.replace(/(:D)(?=[\s\S]*?\[code\][\s\S]*?\[\/code\]+|(?![\s\S]*?\[\/code\]))/igm,"");

我相信每个人, 我在构造正则表达式时遇到了一些问题。 现在我需要匹配所有看起来像:D的smilley,除了

我不理解团队中的异常概念。我发现(?!bar)。*

正则表达式:

我有两个问题:

  • 我无法在img标签中找到匹配的微笑
  • 我没有对手,只有一个

感谢您的耐心和专业知识

谢谢它工作得很好。非常感谢您的快速回复。我找到了几乎正确的正则表达式:
(:D)(?!(?=\w*[^I在我的帖子上,有人有问题要解决我的问题吗?我真的接近目标了。谢谢!
(:D)(?=[\s\S]*?\<code\>[\s\S]*?\<\/code\>+|(?![\s\S]*?\<\/code\>))|(\<img (?!:D).+ \/>)
   :D :D :D

[quote="toto"]:D  :D  :D  :D  :D  :D  :D [/quote]

[spoiler="ygfdhy :D  :D  :D  :D "] :D  :D  :D  :D  :D  :D  :D [/spoiler]

[hide] :D  :D  :D  :D  :D  :D  :D [/hide]

<code>  :D  :D  :D  :D  :D  :D  :D </code>

<code>  :D  :D  :D  :D  :D  :D  :D </code>

<img src="#" data-sceditor-emoticon=":D" alt=":D" title=":D" /> 

<img src=#" data-sceditor-emoticon=":D" alt=":D" title=":D" />