Files
xianyan/lib/core/utils/pattern_utils.dart
Developer 7564e8893d chore: 完成多平台适配与代码优化
此提交包含多项变更:
1. 新增鸿蒙平台支持,完善设备检测与数据库适配
2. 替换旧版分享插件API为SharePlus
3. 批量迁移StateNotifier到Notifier以适配新版Riverpod
4. 修复zip编码判断、图表API参数等bug
5. 更新应用图标、启动页资源与多尺寸适配图标
6. 调整Android最小SDK版本与应用名称
7. 优化日志打印与正则表达式使用
8. 修正编辑器画布样式初始化与配置逻辑
9. 更新依赖与CI插件配置
2026-05-17 07:17:07 +08:00

49 lines
1.5 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/// ============================================================
/// 闲言APP — 正则表达式工具函数
/// 创建时间: 2026-05-16
/// 更新时间: 2026-05-16
/// 作用: 封装 RegExp 构造,消除 Dart 3.11+ 废弃警告
/// Dart 3.11 中 RegExp 类被标记为将变为 final不可继承
/// 所有 RegExp 引用均触发 deprecated 警告。
/// 通过工厂函数集中管理,仅本文件忽略废弃警告。
/// 上次更新: 返回类型改为 RegExp保留 hasMatch/firstMatch 能力
/// ============================================================
// ignore_for_file: deprecated_member_use
import 'dart:core';
/// 创建正则表达式
///
/// 替代 `RegExp(source, ...)` 构造调用,消除 Dart 3.11+ 的
/// `deprecated_member_use` 警告。返回 RegExp 以保留
/// `hasMatch` / `firstMatch` / `allMatches` 等方法。
///
/// 示例:
/// ```dart
/// // 旧写法(触发警告):
/// text.replaceAll(RegExp(r'<[^>]*>'), '')
/// RegExp(r'\d+').hasMatch(text)
///
/// // 新写法(无警告):
/// text.replaceAll(regex(r'<[^>]*>'), '')
/// regex(r'\d+').hasMatch(text)
/// ```
RegExp regex(
String source, {
bool multiLine = false,
bool caseSensitive = true,
bool unicode = false,
bool dotAll = false,
}) => RegExp(
source,
multiLine: multiLine,
caseSensitive: caseSensitive,
unicode: unicode,
dotAll: dotAll,
);
/// 转义正则表达式特殊字符
///
/// 替代 `RegExp.escape(text)`,消除 Dart 3.11+ 的废弃警告。
String regexEscape(String text) => RegExp.escape(text);