регулярное выражение для удаления тега [blah: ...] из строки - PullRequest
1 голос
/ 16 ноября 2009

Я использую это регулярное выражение:

[Blah(?:\s*)\]

Я хочу удалить тег, который выглядит следующим образом:

[Blah:http:..anyting goes here so catch all types of characters ]

Какие-нибудь советы, что не так с моим регулярным выражением?

Ответы [ 3 ]

2 голосов
/ 16 ноября 2009

Регулярное выражение \[Blah[^\]]*\] - это обычный способ. Это значит:

  • буквенная строка [Blah
  • ноль или более:
    • символов, которые не ]
  • буквенная строка ]

Если вы хотите обрабатывать вложение (например, ввод формы [a[b[c]]]), тогда вам нужно что-то, кроме регулярного выражения (это одна из причин, почему попытка использовать регулярное выражение для анализа HTML не работает).

1 голос
/ 16 ноября 2009

Ваше регулярное выражение [Blah(?:\s*)\] начинается с неэкранированного символа '[', который "рассматривается" как начало класса персонажа. Вот что не так с вашим регулярным выражением (возможно, ошибок больше, но это главная причина).

0 голосов
/ 16 ноября 2009

Попробуйте изменить его на \[Blah[^\]]*\] или \[Blah.*?\]. Они должны давать тот же результат, но их производительность может быть разной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...