Dart:
Использование регулярных выражений
Как это сделать:
Dart использует класс RegExp
для регулярных выражений. Вот простой пример для поиска простого шаблона в строке:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Изучение программирования на Dart увлекательно.';
if (pattern.hasMatch(text)) {
print('Совпадение найдено!');
} else {
print('Совпадений не найдено.');
}
// Вывод: Совпадение найдено!
}
Для извлечения совпадений из строки вы можете использовать метод allMatches
. Этот метод возвращает итерируемую коллекцию совпадений:
void main() {
var pattern = RegExp(r'\b\w+\b');
var text = 'Dart - это здорово!';
var matches = pattern.allMatches(text);
for (final match in matches) {
print(match.group(0)); // Это печатает подстроки совпадений.
}
// Вывод:
// Dart
// это
// здорово
}
Заменить текст можно с помощью методов replaceFirst
или replaceAll
:
void main() {
var pattern = RegExp(r'\bDart\b');
var text = 'Dart - это не просто дротик.';
// Заменить первое вхождение
var modifiedText = text.replaceFirst(pattern, 'Flutter');
print(modifiedText);
// Вывод: Flutter - это не просто дротик.
// Заменить все вхождения
modifiedText = text.replaceAll(pattern, 'Flutter');
print(modifiedText);
// Вывод: Flutter - это не просто flutter.
}
Разделение строки по шаблону регулярного выражения просто с использованием метода split
:
void main() {
var pattern = RegExp(r'\s+'); // Соответствует любому пробельному символу
var text = 'Dart весело';
var parts = text.split(pattern);
print(parts);
// Вывод: [Dart, весело]
}
Для сложного анализа или валидации, не поддерживаемых напрямую RegExp
Dart, вы можете рассмотреть возможность использования сторонних библиотек, но стандартная библиотека Dart часто бывает достаточной для общих задач с регулярными выражениями, подчеркивая ее полезность и универсальность в работе с регулярными выражениями.