Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpRgMl 51 of 224 menu
◀ ▶

Многострочность в регулярках Dart

Регулярки при работе с многострочными строками имеют свои особенности. Разберем их на примере следующей строки, содержащей обычные символы, символы перевода строк и табуляции:

var txt = """111 222; 333; 444"""

Символы перевода строки можно поймать с помощью команды '\n':

var res = txt.replaceAll(RegExp(r'\n'), "!"); print(res);

В результате выведется следующая строка (промежутки между строками - это табуляция):

'111! 222! 333! 444';

Символы табуляции можно поймать с использованием команды '\t':

var res = txt.replaceAll(RegExp(r'\t'), "!"); print(res);

Результат выполнения кода:

""" !111; !222; !333; !444; """

Команда '.' для многострочной строки не ловит символы перевода строки:

var res = txt.replaceAll(RegExp(r'.'), "!"); print(res);

Результат выполнения кода:

""" !!!; !!!!; !!!!; !!!!; """

Чтобы поймать все символы в многострочной строке, используется хитрый прием в виде сочетания [\s\S]. Такая конструкция найдет все обычные символы и все переводы строк:

var res = txt.replaceAll(RegExp(r'[\s\S]'), "!"); print(res);

Результат выполнения кода:

'!!!!!!!!!!!!!!!!!!';

Команда '$' в многострочном режиме будет ловить конец каждой строки:

var res = txt.replaceAll(RegExp(r'$'), "!"); print(res);

Результат выполнения кода:

""" 111!; 222!; 333!; 444!; """

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

""" abc!; def!; ghi!; jkl!; """

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

""" ! abc; ! def; ! ghi; ! jkl; """

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

"""! abc; def; ghi; jkl; !"""

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

"""! ! abc; ! def; ! ghi; ! jkl; !"""

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

"""! abc!; def!; ghi!; jkl!; !"""

Дана строка:

""" abc; def; ghi; jkl; """

Напишите регулярку, которая сделает из этой строки следующую:

""" !abc; !def; !ghi; !jkl; """
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить