Lua:
Использование регулярных выражений
Как использовать:
Lua предоставляет базовую поддержку шаблонов (свою версию regex), которые можно использовать с функциями сопоставления строк. Вот быстрый пример:
local text = "Привет Lua! 123"
-- Найти цифры в тексте
local pattern = "%d+"
for match in string.gmatch(text, pattern) do
print(match)
end
Вывод:
123
Для замены текста:
local text = "Привет Lua! 123"
local pattern = "%d+"
local replacement = "456"
local new_text = string.gsub(text, pattern, replacement)
print(new_text)
Вывод:
Привет Lua! 456
Подробнее
Шаблоны Lua не настолько богаты функционалом, как regex, найденные в других языках, но они быстрые и охватывают многие распространенные случаи использования. Они были представлены как легковесное решение для сопоставления строк, избегая сложности традиционных реализаций regex.
Альтернативы включают внешние модули Lua вроде rex_pcre
или lpeg
, которые предоставляют более полные реализации regex или, соответственно, различные парадигмы сопоставления шаблонов.
Функции сопоставления шаблонов Lua, такие как string.find
, string.match
, string.gmatch
и string.gsub
, работают с предопределенными кодами шаблонов, такими как %d
для цифр, %s
для пробельных символов и %a
для букв, что делает реализацию простой и с меньшими накладными расходами, чем полноценные движки regex.