Иконка ресурса

Плагин luamine-re2addon 1.0

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.21
Ядра и Прокси
  1. Spigot
Минимальная версия Java
17
Исходный код
https://github.com/LuaMine/LuaMine/tree/main/addons/re2addon
Re2Addon

Добавляет поддержку регулярных выражений You must be logged in to see this link. в
скрипты You must be logged in to see this link. через
библиотеку You must be logged in to see this link..

Требует установленный и включённый LuaMine.

Почему RE2, а не стандартный regex?

RE2 специально спроектирован так, чтобы гарантировать линейное время матчинга
без катастрофического backtracking'а — класса бага, при котором составленный
(или просто неудачный) regex-паттерн может подвесить поток на секунды или минуты
на определённом вводе. Это важно именно здесь: скрипты LuaMine по своей природе менее
доверенный код, чем ваш собственный серверный код, поэтому безопасно открыть им regex
означает выбрать движок, который нельзя превратить в вектор отказа в обслуживании
даже обычным (не злонамеренным) паттерном.

Использование

Код:
local re2 = require("re2")

-- Свободные функции - паттерн строкой
re2.matches("[0-9]+", "hello123")        -- false (строка должна совпасть целиком)
re2.find("[0-9]+", "hello123world")      -- 5, 8
re2.findAll("[0-9]+", "a1 b22 c333")     -- таблица {start, end, match}
re2.replace("[0-9]+", "a1b2c3", "X")     -- "aXb2c3" (только первое совпадение)
re2.replaceAll("[0-9]+", "a1b2c3", "X")  -- "aXbXcX"
re2.split(",", "one,two,three")          -- {"one", "two", "three"}
re2.quote("a.b*c")                       -- строка с экранированием как литерал
re2.valid("[unclosed")                   -- false

-- ООП-стиль - скомпилировать один раз, переиспользовать
local p = re2.compile("[a-z]+")
p:matches("hello")
p:find("123hello456")
p:replace("abc123def", "X")

Строки-паттерны, переданные в свободные функции, кэшируются внутри — повторный вызов
re2.matches("some.pattern", text) с одной и той же строкой не компилирует regex
заново каждый раз.

Ссылки

Зависимости
LuaMine
Команды и права
-
Автор
DarkWhite
Скачивания
2
Просмотры
64
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя DarkWhite

Поделиться ресурсом

Назад
Сверху Снизу