我很难找到正则表达式。我想解析除bbcode[code]中的所有微笑。
例如:
[code] :D :D :D :D [/code]
:D :D :D
我的正则表达式必须匹配bbcode中的三个:D。
我尝试了([code](.*?)[/code])
来匹配bbcode。
但除了这个街区,我不知道该怎么办。我在谷歌上找到了如何用(^([code](.*?)[/code])*
破例但不起作用。。。。
所以我的第一个问题是:如何匹配所有看起来像:D
的笑脸?除了正则表达式中的一个组(bbcode)之外,如何处理?
感谢您的帮助
我认为这应该对你有用。
(:D)(?=[sS]*?[code][sS]*?[/code]+|(?![sS]*?[/code]))
将所有:D
的外部代码标记转换为链接的示例实现:
document.getElementById('tekt').value = document.getElementById('tekt').value.replace(/(:D)(?=[sS]*?[code][sS]*?[/code]+|(?![sS]*?[/code]))/igm,"");
JSFiddle演示。
我每个人,我在构造正则表达式时遇到了一些问题。现在我需要匹配除了<code></code>
和<img />
之间的所有看起来像:D的笑脸
我不理解群体中的例外概念。我找到了(?!条)。*
正则表达式:
(:D)(?=[sS]*?<code>[sS]*?</code>+|(?![sS]*?</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" />
Regex101
我有两个问题:
- 我在img标签中找不到匹配的smilley
- 我不是唯一的对手
感谢您的耐心和专业知识