regex
Начиная с 1.4.0Константы
Pattern : map =
17 элементов
{
UNIX_LINES=1,
CASE_INSENSITIVE=2,
I=2,
COMMENTS=4,
MULTILINE=8,
M=8,
LITERAL=16,
S=32,
DOTALL=32,
UNICODE_CASE=64,
CANON_EQ=128,
UNICODE_CHARACTER_CLASS=256,
U=256,
quote=def(s) { return string },
matches=def(str,pattern) { return boolean },
split=def(str,pattern,limit = 0) { return array },
compile=def(pattern,flags = 0) { return PatternValue }
}
Функции
regex(pattern, flags = 0) — создаёт шаблон регулярного выражения и возвращает PatternValue
Типы
PatternValue
Функции
flags() — возвращает флаги шаблона
pattern() — возвращает шаблон в виде строки
matcher(input) — возвращает MatcherValue
matches(input) — проверяет, соответствует ли входная строка шаблону
split(input, limit = 0) — разбивает строку на основе совпадений шаблона
replaceCallback(input, callback) — заменяет строку результатом заданной функции
use regex
in = "пёс кот"
pattern = regex("(\w+)\s(\w+)", Pattern.U | Pattern.I)
println pattern.replaceCallback(in, def(m) = m.group(2) + "о" + m.group(1))
use regex
in = "пёс кот"
pattern = regex("(\w+)\s(\w+)", Pattern.U | Pattern.I)
println pattern.replaceCallback(in, def(m) = m.group(2) + "о" + m.group(1))
MatcherValue
Функции
start(group = ...) — возвращает начальную позицию найденного совпадения
end(group = ...) — возвращает позицию, следующую за последним символов найденного совпадения
find(start = 0) — сбрасывает состояние матчера и пытается найти следующее совпадение
group(group = 0) — возвращает найденную группу
pattern() — возвращает шаблон
region(start, end) — задаёт ограничения для текущего региона
replaceFirst(replacement) — заменяет первое совпадение на заданную строку
replaceAll(replacement) — заменяет все совпадения на заданную строку
replaceCallback(callback) — заменяет строку результатом заданной функции
use regex
in = "пёс кот"
pattern = regex("(\w+)\s(\w+)", Pattern.U | Pattern.I)
matcher = pattern.matcher(in)
println matcher.replaceCallback(def(m) = m.group(2) + "о" + m.group(1))
reset(input = "")
usePattern(patternvalue)
useAnchoringBounds(status)
hasAnchoringBounds()
useTransparentBounds(status)
hasTransparentBounds()
hitEnd()
lookingAt()
matches()
groupCount()
regionStart()
regionEnd()