我找一个正则表达式有点麻烦。 我想解析所有表情符号,除了bbcode [code]。
例如:
[code] :D :D :D :D [/code]
:D :D :D
我的正则表达式必须与bbcode中的三个匹配:
我尝试(\[code\](.*?)\[\/code\])
来匹配bbcode。
但我没有发现除了这个街区以外的情况。我在google上发现如何使用(^(\[code\](.*?)\[\/code\])*
进行例外处理但不能正常工作......
所以我的第一个问题是:如何匹配所有看起来像:D
的smilley?
除了正则表达式中的一组(bbcode)之外怎么办?
感谢您的帮助
答案 0 :(得分:2)
我认为,这应该适合你。
(: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,"");
答案 1 :(得分:0)
我是每个人,
构建我的正则表达式时遇到一些问题。
现在我需要匹配除<code></code>
和<img />
我不理解小组中的异常概念。我找到了(?!酒吧)。*
正则表达式:
(: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" />
我有两个问题:
感谢您的耐心和专业知识