在Javascript中删除带有正则表达式的BBCode

在Javascript中删除带有正则表达式的BBCode,javascript,regex,Javascript,Regex,我试图删除那些标签之间带有属性和内容的BBCode。我用的是从这里得到的正则表达式。我还尝试了在stackoverflow上找到的其他正则表达式,但它们对我不起作用,只是我在这里复制的一个最接近 ([[\/\!]*?[^\[\]]*?]) 我在*?]之前添加了一个),它可以处理标签之间的文本,但也匹配口袋妖怪,我不希望这样 **Regex**: ([[\/\!]*?[^\[\]].*?]) **Text**: I'm a pokemon master and I like [TAG] thi

我试图删除那些标签之间带有属性和内容的BBCode。我用的是从这里得到的正则表达式。我还尝试了在stackoverflow上找到的其他正则表达式,但它们对我不起作用,只是我在这里复制的一个最接近

([[\/\!]*?[^\[\]]*?])
我在
*?]
之前添加了一个
),它可以处理标签之间的文本,但也匹配
口袋妖怪
,我不希望这样

**Regex**: ([[\/\!]*?[^\[\]].*?])

**Text**: I'm a pokemon master and I like
[TAG] this [/TAG] pokemon [TAG] and this [/TAG] text...
我使用这个网站来测试正则表达式

有人能帮我吗

提前谢谢

str = str.replace(/\[(\w+)[^\]]*](.*?)\[\/\1]/g, '');
.

这应该可以:

\[(\w+).*?\].*?\[/\1\]
这将查找与开始标记匹配的结束标记,并接受开始标记上的属性。JavaScript代码应该是:

str = str.replace(/\[(\w+).*?\].*?\[\/\1\]/, "");
这就是你想要的:

.replace(/\[(\w+)[^w]*?](.*?)\[\/\1]/g, '$2');

基本上,您捕获标记之间的值,然后用该值替换整个字符串

使用正则表达式来做这件事并不是一个很干净的方法


对不起,亚历克斯,但你没有;我看不出来。

几乎一样。。。呵呵。我从一个论坛得到一个提要,我使用javascript只是为了开发一些东西。谢谢。什么是
[^w]
?这将如何允许任意属性?