Я пытаюсь поставить две звездочки между словами, которые заключены в подчеркивание.
До сих пор мне удалось сопоставить шаблон, когда в подчеркивании есть только одно слово, если в середине есть пробел, шаблон не работает.
Как мне написать правильный шаблон, чтобы найти слова между подчеркиванием и поставить звездочки между ними? Вот MWE моего кода:
function string:add(start, fim, word)
return self:sub(1,start-1) .. "**" .. word .. "**" .. self:sub(fim+1)
end
regex = "In this string I'm putting _many_ words to test if I _wrote_ the code right to _match patterns_."
while regex:find("_(%w+)_") ~= nil do
start, fim = regex:find("_(%w+)_")
regex = regex:add(start, fim, regex:match("_(%w+)_"))
end
print(regex)
Вывод:
В этой строке я помещаю **many**
слова, чтобы проверить, правильно ли я **wrote**
код на _match patterns_
.
Как видно, в _match patterns_
есть два слова и пробел, поэтому мой шаблон _(%w+)_
пропускает его. Как мне это тоже включить?