Использование регулярных выражений

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.

Смотрите также