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()