2013-10-05 6 views
-5

Мне нужно создать регулярное выражение в Notepad ++ для очень длинного файла. Многие строки содержат некоторую информацию, которую мне нужно удалить. Например, строка будет сказать:Регулярное выражение для блокнота ++ для удаления символов

[THEME] Openhouse [THEME] [THEME] как сделать один [THEME] По количеству людей, которые ...

И с помощь в регулярном выражении мой результат должен быть просто:

по количеству людей, которые ...

+5

Таким образом, вы пытаетесь удалить все от первого '[THEME]' до последнего '[ THEME] '? Это во всем файле или в каждой строке? И вы что-то пробовали? – Jerry

+0

, вы должны более подробно рассказать о своем вопросе и добавить код, который вы попытались, и что с ним случилось. –

ответ

1

ли вы попробовать что-нибудь, как

\[THEME\].*\[THEME\] 

.* является «жадным» так должен попытаться охватить самый длинный возможное, чтобы сделать матч.

0

Предположения должны быть сделаны, так как вы не очень четко понимаете свои требования. Следующие три подхода будут создавать ваш результат из вашего образца ... но могут иметь разные последствия, если ваш образец немного изменится.


Предполагая, что вы хотите, чтобы удалить все, кроме того, что существует после последнего [THEME], если таковой существует для каждой линии, это будет работать:

.*\[THEME\] 

заменить ничем.


Предполагая, что вы хотите, чтобы удалить все между первым и последним [THEME], если они существуют для каждой линии, это будет работать:

\[THEME\].*\[THEME\] 

заменить ничем.


Предполагая, что вы хотите удалить что-нибудь между двумя [THEME] с может быть более сложным, но наивный подход может выглядеть следующим образом:

\[THEME\].*?\[THEME\] 

заменить ничем. Это сделало бы:

[THEME] Openhouse [THEME] Foobar [THEME] как сделать один [THEME] По количеству людей, которые ...

в это (обратите внимание к "Foobar"):

Foobar по количеству людей, которые ...

Смежные вопросы