Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
def source = 'this is some string just string plain string'
// во-первых, есть спец. форма записи строки, в которой не требуется квотирование
word = /\w+/
// оператор ~ позволяет прекомпилировать объект паттерна (так же поддерживает подстановку подстрок)
wholePattern = ~/($word $word)*/
// это проверка (оператором ==~) что вся строка содержит только слова, разделенные пробелами.
assert source ==~ wholePattern
// А это матчинг, операторв =~ создает объект матчера. Проверяем, что данному паттерну сооттствует три подстроки
def finder = (source =~ "st..ng*")
assert finder.getCount() == 3 First you have a problem, and then you think: «I know, I'll use regular expressions». Now you've got two problems.
[\.\(\)\{\^]Лишне так писать или нет, зависит исключительно от движка регулярных выражений.
Тонкости регулярных выражений. Часть 1: метасимволы внутри и вне символьных классов