Выбор (и удаление) между тегами без тегов с помощью регулярных выражений

у меня есть следующий пример:

[ame="http://www.google.com"]Google - a search engine[/ame]

я пробовал [ame=.*](.*?)[/ame], и он выбирает теги и текст.

мне нужно выбрать все между тегами [ame][/ame], чтобы удалить это. Я использую Sublime Text, который использует регулярные выражения, но я не могу выбрать только текст между тегами, а не текст с тегами.


person iWiFi    schedule 11.06.2015    source источник


Ответы (1)


Вы можете использовать следующее для соответствия:

(\[ame=[^\]]*\])(.*?)(\[\/ame\])

И заменить на $1$3

См. DEMO.

person karthik manchala    schedule 11.06.2015
comment
Вероятно, полезно сделать первый * также нежадным. - person acdcjunior; 11.06.2015
comment
@acdcjunior, вы правы .. обновлен отрицательным классом символов .. что даст лучшую производительность, чем сделает его не жадным :) - person karthik manchala; 11.06.2015
comment
Да, это правильно, если я выберу $2, я получу текст между тегами, но моя проблема в том, что я не могу использовать знаки $ в Sublime Text, мне нужно регулярное выражение, чтобы просто выбрать текст между тегами, и я могу нажать кнопку удаления и продолжить к следующему результату - person iWiFi; 12.06.2015