Я знаю, как вывести строки совпадающих строк (результат команды find), просто используя editor:MarkerNext()
:
function print_marked_lines()
local ml = 0
local lines = {}
while true do
ml = editor:MarkerNext(ml, 2)
if (ml == -1) then break end
table.insert(lines, (editor:GetLine(ml)))
ml = ml + 1
end
local text = table.concat(lines)
print(text)
end
Чего я не знаю, так это как выводить только совпадающие строки (не целую строку, как в опубликованном фрагменте). Я предполагаю, что есть решение, так как совпадающие строки выделены и должны иметь какое-то свойство, которое позволило бы их извлечь, но я предполагаю, что знание Scintilla необходимо, поскольку я не смог найти никаких ссылок в предоставленных привязках SciTE.
Пример снимка экрана для поиска / сопоставления всех шаблонов регулярных выражений "I \ w +":
Я хочу вывести (напечатать на панель вывода) все выделенные части строки