/** * 正则表达式语法验证器 * * @module RegexEditor/validation/validator * @description 检测正则表达式的常见语法错误和安全问题 * * @remarks * 该模块基于 regexp-tree AST 提供以下验证规则: * 1. 空捕获组检测 - 检测 () 并建议使用 (?:) * 2. 无效量词检测 - 检测 {min,max} 中 min > max * 3. 嵌套量词检测 - 检测 (a+)+ 等导致灾难性回溯的模式 * 4. 未闭合组检测 - 通过解析错误自动检测 * * @see {@link parseRegex} 用于解析正则表达式 */ import type { ASTNode, RegexError, ValidationResult } from './types'; /** * 验证正则表达式 AST * * @param ast - 抽象语法树节点 * @returns {RegexError[]} 错误和警告列表 * * @remarks * 该函数遍历 AST 节点,应用以下验证规则: * - 空捕获组 (警告) * - 无效量词 (错误) * - 嵌套量词/灾难性回溯 (错误) * * @example * ```typescript * const result = parseRegex('()test'); * const errors = validateRegex(result.ast!); * console.log(errors); // [{ type: 'empty_group', severity: 'warning', ... }] * ``` */ export declare const validateRegex: (ast: ASTNode) => RegexError[]; /** * 整合验证流程: 解析 + 语法验证 * * @param pattern - 正则表达式字符串 * @param flags - 可选的正则表达式标志 * @returns {ValidationResult} 完整的验证结果 * * @remarks * 该函数整合了以下步骤: * 1. 解析正则表达式 {@link parseRegex} * 2. 语法验证 {@link validateRegex} * 3. 分类错误、警告和信息 * * @example * ```typescript * const result = validatePattern('^LOT\\d{6}$'); * if (result.valid) { * console.log('验证通过'); * } else { * console.error('错误:', result.errors); * } * ``` */ export declare const validatePattern: (pattern: string, flags?: string) => ValidationResult;