输入关键词搜索,如文本、json、图片等
正则表达式测试
一些测试实例:
邮箱1:demo@163.com
邮箱2:demo2@163.com
手机号:13012341234
url: http://z-zk.cc、https://z-zk.cc
IP: 192.168.0.1
时间:2023-11-24

常用正则:
共找到 0 处匹配结果

一、什么是正则表达式?

正则表达式(Regular Expression,简称 Regex)是一种用于描述字符串匹配模式的文本语法。它使用特殊字符和元字符定义搜索规则,可以精确匹配、查找、替换和验证文本内容。正则表达式广泛应用于几乎所有编程语言(JavaScript、Python、Java、Go 等),是开发者处理文本数据的核心工具。掌握正则表达式,可以让你在表单验证、数据清洗、日志分析等场景中事半功倍。

二、常用正则语法速查

  • . — 匹配除换行符外的任意字符
  • * — 匹配前一个字符 0 次或多次
  • + — 匹配前一个字符 1 次或多次
  • ? — 匹配前一个字符 0 次或 1 次
  • \d — 匹配数字,等价于 [0-9]
  • \w — 匹配字母、数字或下划线
  • \s — 匹配空白字符(空格、制表符等)
  • ^ — 匹配字符串开头
  • $ — 匹配字符串结尾
  • [abc] — 匹配方括号中的任意一个字符
  • (a|b) — 匹配 a 或 b

三、典型使用场景

  • 表单校验:验证邮箱、手机号、身份证号、URL 等是否符合格式要求,如 ^\d{11}$ 验证11位手机号
  • 文本提取:从日志、配置文件或接口返回中提取关键信息,如提取所有 IP 地址 \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
  • 代码重构:在编辑器中配合正则替换,批量修改变量名、路径或标签
  • 数据清洗:去除文本中的特殊字符、多余空格或格式化标记
  • 爬虫解析:从 HTML 源码中提取特定标签内容或属性值

四、匹配标志说明

  • g(全局匹配):查找所有匹配项,而非在第一个匹配后停止
  • i(忽略大小写):不区分大小写进行匹配
  • m(多行模式):使 ^$ 匹配每一行的开头和结尾,而非整个字符串

五、常见问题

1. 为什么正则匹配结果和预期不一致?
常见原因包括:贪婪匹配(.* 会尽可能多地匹配字符)、未使用边界锚点(^$)、特殊字符未转义(如 . 需写为 \.)。建议从简单规则开始测试,逐步增加复杂度。

2. 正则表达式有性能问题吗?
复杂正则可能导致"灾难性回溯",尤其在处理长文本时。避免嵌套量词(如 (a+)+)和过度回溯的模式。对于大文本匹配,建议先用本工具测试性能。

3. 数据安全
所有正则匹配操作在浏览器本地完成,不会上传任何文本数据。你可以放心测试包含敏感信息的正则表达式。