ENGINEERING PLAYBOOK
正则表达式核心语法
正则表达式的行为取决于实现和标志。页面使用 JavaScript 示例说明常用构造,同时要求先列出应匹配与不应匹配样本,再逐步增加约束。
适用人群:需要验证字符类、边界、分组和标志差异的 JavaScript 开发人员
排查路径
- 先定义目标字符串范围与字符集。
- 从字面量开始,再添加边界和字符类。
- 使用捕获组或非捕获组表达结构。
- 用正反样本检查全局、忽略大小写和多行标志。
执行步骤
- 列出至少三个应匹配和三个不应匹配样本。
- 确认反斜线在字符串字面量中是否需要二次转义。
- 用 ^ 和 $ 时核对多行模式。
- 复杂语法优先拆成多个可读步骤。
- 对用户输入设置长度和执行时间边界。
可复制命令与示例
提取日期
const re = /\b(\d{4})-(\d{2})-(\d{2})\b/g;验证简单标识符
const valid = /^[A-Za-z_][A-Za-z0-9_]*$/.test(value);可复现任务记录
具体错误或任务
标识符校验错误接受数字开头或错误拒绝下划线,需要固定正反样本。
失败信号:value=9name 返回 true,或 value=_name 被错误拒绝。
最小输入
正样本 name_1、_name;反样本 9name、name-1;运行时 Node.js 当前版本。
验证命令或步骤
node -e "for (const v of ['name_1','_name','9name','name-1']) console.log(v,/^[A-Za-z_][A-Za-z0-9_]*$/.test(v))"预期输出
前两个样本为 true,后两个样本为 false。
失败输出
任一正反样本结果相反,或因字符串二次转义导致表达式与源码不同。
成功判据
正反样本、边界字符和目标运行时全部记录,表达式修改后回归结果稳定。
本任务常见错误
- 遗漏字符串字面量二次转义
- 只测试 ASCII 常规输入
- 未说明多行与大小写标志
资料与适用边界
构造、字符类和标志依据 MDN JavaScript 文档;Unicode 与不同引擎特性需在目标运行时复测。
证据块复核日期:2026-09-04
相关站内页面
资料依据与复核边界
资料复核日期:2026-08-29