Question: I am trying to remove BBCode with attributes and content between those tags. I'm using this regular expression that I got here from [here](https://stackoverflow.com/questions/6777257/remove-bbcode-tags-and-their-content-in-php/6777448#6777448). I also tried other regex I found on stackoverflow but they didn't work for me, just the one I copy here is the closest.

```
([[\/\!]*?[^\[\]]*?])

```

I added a `.` before `*?])` and it maches the text between the tags but also matches `pokemon` and I don't want that.

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

**Text**: I'm a pokemon master and I like
[TAG] this [/TAG] pokemon [TAG] and this [/TAG] text...

```

I use this web to test regex <http://regexpal.com/>

Can anyone help me?

Thanks in advance.

Answer: 
This is what you want:

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

```

[JavaScript demo](http://jsfiddle.net/7vyuwk0t/)

Basically you catch the value between tags and then replace the whole string with that value.

Using a regex to do this isn't a very clean way of doing it though...

Sorry Alex but you didn;t read it seems.
This should do:

```
\[(\w+).*?\].*?\[/\1\]

```

This will look for a closing tag matching the opening tag - and also accept attributes on the opening tag. The JavaScript code should then be:

```
str = str.replace(/\[(\w+).*?\].*?\[\/\1\]/, "");

```