match method

Map<String, String>? match(
  1. String path
)

匹配路径并提取参数

返回参数映射,如果不匹配则返回 null

示例:

final pattern = RoutePattern('/user/:id');
final params = pattern.match('/user/123');
// params: {id: '123'}

Implementation

Map<String, String>? match(String path) {
  final match = regex.firstMatch(path);
  if (match == null) return null;

  final params = <String, String>{};
  for (var i = 0; i < paramNames.length; i++) {
    params[paramNames[i]] = match.group(i + 1)!;
  }
  return params;
}