dart:core
庫中RegExpMatch
類的用法介紹如下。
正則表達式匹配。
正則表達式匹配是 Match es,但還包括檢索任何命名捕獲組的名稱以及按名稱而不是索引檢索命名捕獲組的匹配項的能力。
例子:
const pattern =
r'^\[(?<Time>\s*((?<hour>\d+)):((?<minute>\d+))\.((?<second>\d+)))\]'
r'\s(?<Message>\s*(.*)$)';
final regExp = RegExp(
pattern,
multiLine: true,
);
const multilineText = '[00:13.37] This is a first message.\n'
'[01:15.57] This is a second message.\n';
RegExpMatch regExpMatch = regExp.firstMatch(multilineText)!;
print(regExpMatch.groupNames.join('-')); // hour-minute-second-Time-Message.
final time = regExpMatch.namedGroup('Time'); // 00:13.37
final hour = regExpMatch.namedGroup('hour'); // 00
final minute = regExpMatch.namedGroup('minute'); // 13
final second = regExpMatch.namedGroup('second'); // 37
final message =
regExpMatch.namedGroup('Message'); // This is a first message.
final date = regExpMatch.namedGroup('Date'); // Undefined `Date`, throws.
Iterable<RegExpMatch> matches = regExp.allMatches(multilineText);
for (final m in matches) {
print(m.namedGroup('Time'));
print(m.namedGroup('Message'));
// 00:13.37
// This is a first message.
// 01:15.57
// This is a second message.
}
- 實現的類型
- 注釋
-
@Since("2.3")
相關用法
- Dart RegExp.pattern用法及代碼示例
- Dart RegExp.isCaseSensitive用法及代碼示例
- Dart RegExp.allMatches用法及代碼示例
- Dart RegExp.hasMatch用法及代碼示例
- Dart RegExp用法及代碼示例
- Dart RegExp構造函數用法及代碼示例
- Dart RegExp.stringMatch用法及代碼示例
- Dart RegExp.firstMatch用法及代碼示例
- Dart RegExp.escape用法及代碼示例
- Dart RegExp.isUnicode用法及代碼示例
- Dart Rectangle構造函數用法及代碼示例
- Dart Rectangle.fromPoints用法及代碼示例
- Dart RawSecureSocket.connect用法及代碼示例
- Dart Random用法及代碼示例
- Dart RtcStatsReport.containsKey用法及代碼示例
- Dart RtcStatsReport.containsValue用法及代碼示例
- Dart RawReceivePort.handler用法及代碼示例
- Dart RuneIterator.moveNext用法及代碼示例
- Dart Random.nextDouble用法及代碼示例
- Dart Random.nextInt用法及代碼示例
- Dart Runes用法及代碼示例
- Dart RtcStatsReport.remove用法及代碼示例
- Dart RtcStatsReport.putIfAbsent用法及代碼示例
- Dart RtcStatsReport.addAll用法及代碼示例
- Dart Random.nextBool用法及代碼示例
注:本文由純淨天空篩選整理自dart.dev大神的英文原創作品 RegExpMatch class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。