Я использую это регулярное выражение:
[Blah(?:\s*)\]
Я хочу удалить тег, который выглядит следующим образом:
[Blah:http:..anyting goes here so catch all types of characters ]
Какие-нибудь советы, что не так с моим регулярным выражением?
Регулярное выражение \[Blah[^\]]*\] - это обычный способ. Это значит:
\[Blah[^\]]*\]
[Blah
]
Если вы хотите обрабатывать вложение (например, ввод формы [a[b[c]]]), тогда вам нужно что-то, кроме регулярного выражения (это одна из причин, почему попытка использовать регулярное выражение для анализа HTML не работает).
[a[b[c]]]
Ваше регулярное выражение [Blah(?:\s*)\] начинается с неэкранированного символа '[', который "рассматривается" как начало класса персонажа. Вот что не так с вашим регулярным выражением (возможно, ошибок больше, но это главная причина).
Попробуйте изменить его на \[Blah[^\]]*\] или \[Blah.*?\]. Они должны давать тот же результат, но их производительность может быть разной.
\[Blah.*?\]