Получать строку поиска - Python-скрипт для Notepad++


Я пытаюсь автоматизировать удаление некоторого текста в HTML-коде, который редактирую в Notepad++, для этого я использую плагин PythonScript. У меня только одна проблема: я хочу удалить, например, все <center>, кроме первого. Я подумал, что могу использовать эту функцию:

Editor.rereplace("search", "replace"[, flags[, startPosition[, endPosition[, maxCount]]]])

Поскольку я не хочу удалять первый член, я мог бы установить startPosition на одну строку после строки с первым членом.Единственная проблема заключается в том, что я не нахожу никакой функции scintilla в скрипте Python, чтобы найти текст, который я ищу. Возможно, эта функция research поможет найти решение:

Editor.research(search, matchFunction[, flags[, startPosition[, endPosition[, maxCount]]]])

Но я не могу найти ни одной функции, связанной с .исследование, которое поможет мне.

1 2

1 ответ:

matches = []
def match_found(m):
    # append the match start position to the matches array
    matches.append(m.end(0))

editor.research('pattern', match_found)

matches[0]  #should now contain the index of the *end* of the first match

m.end() так как вы хотите использовать конец совпадения в качестве начала следующего поиска