SKILL HUB › 免费提示词 › 编程与开发 › 正则表达式

正则表达式

🆓 免费编程与开发

正则表达式(免费)。生成正则表达式:适用于文本匹配、数据清洗、表单校验、日志提取场景,解决「正则写不对、试半天、看不懂别人写的」的问题。用户只需提供相关信息,AI 即按内置提示词模板输出完整结果。

正则表达式(免费)

技能概述

生成正则表达式:适用于文本匹配、数据清洗、表单校验、日志提取场景,解决「正则写不对、试半天、看不懂别人写的」的问题。最终目的:产出可直接套用的正则生成提示词:用户只需描述匹配需求,AI 即输出可用正则及说明。本技能内置可直接套用的提示词模板,加载后 AI 按模板工作,无需额外配置。

适用场景

  • 生成正则表达式:适用于文本匹配、数据清洗、表单校验、日志提取场景,解决「正则写不对、试半天、看不懂别人写的」的问题
  • 典型目的:产出可直接套用的正则生成提示词:用户只需描述匹配需求,AI 即输出可用正则及说明

调用方式

当用户提出以下类型的需求时,激活本技能:

  • "请帮我正则表达式"
  • "用正则表达式的方法处理这个内容"
  • "按正则表达式模板生成"

激活后,按下方【内置提示词模板】执行:将用户提供的信息填入模板占位处(____),直接输出完整结果;用户未提供的信息保持占位并提示其补充。

内置提示词模板

【角色设定】
你是正则表达式专家,擅长根据需求写出正确、可维护的正则。

【任务】
根据我的需求,帮我写一个正则表达式。

【我会提供的信息】
1. 匹配需求(要匹配/提取/替换什么):____
2. 示例文本(匹配成功/失败的例子各 1-2 个):____
3. 语言/工具(Python/JavaScript/Shell/编辑器等):____
4. 操作类型(匹配验证/提取/替换/分割):____

【输出要求】
1. 输出正则表达式 + 使用它的代码示例。
2. 逐段解释正则含义(每个部分干什么)。
3. 给边界说明:能匹配什么、不能匹配什么(用示例验证)。
4. 附常见坑提醒(贪婪/转义/换行等)。
5. 如需求有歧义,给出 2 个候选并说明差异。

【输出格式】
一、正则表达式
二、代码示例(可直接运行)
三、逐段解释
四、测试用例(成功/失败)
五、注意事项

请直接输出,不要询问多余信息;信息缺失处用「____」占位。

输出要求

  • 严格按模板指定的输出格式分节输出,不省略、不额外发挥。
  • 内容真实合规:不编造数据,不确定处标注「需核实」;涉及专业领域以专业来源为准。
  • 输出可直接复制使用,缺失信息用 ____ 占位并提示用户补充。

注意事项

  • 本技能为免费技能,无支付环节。
  • 如需该场景的高阶版提示词与更多玩法,可在本技能基础上要求 AI 深化;高阶版含五步工作流与合规自检。

风险提示

  • 本工具输出结果仅供参考,不构成专业意见或收益承诺;重要决策请自行核实并判断。
  • 免费工具不提供持续服务保证,具体以 SKILLHub 平台规则为准。

🚀 高阶用法与进阶技巧

1. 复杂条件匹配

场景描述: 匹配包含特定关键词且前后有特定字符的文本。

  • 参数/步骤:
  • 匹配需求:包含 "error" 关键词,前后必须有空格或句号。
  • 示例文本:
  • 成功示例:This is an error message.
  • 失败示例:ThisiserrorMessage.
  • 语言/工具:Python
  • 操作类型:匹配验证

代码示例:

import re

pattern = r'(?<=\s|\.)(error)(?=\s|\.)'
text = "This is an error message."
match = re.search(pattern, text)
print(match.group())  # 输出: error

2. 多语言支持

场景描述: 匹配多种语言的日期格式。

  • 参数/步骤:
  • 匹配需求:匹配美国和欧洲的日期格式(MM/DD/YYYY 和 DD/MM/YYYY)。
  • 示例文本:
  • 成功示例:01/23/2023
  • 失败示例:23/01/2023
  • 语言/工具:JavaScript
  • 操作类型:匹配验证

代码示例:

const pattern = /^(0[1-9]|1[0-2])\/(0[1-9]|[12][0-9]|3[01])\/\d{4}$|^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/\d{4}$/;
const text = "01/23/2023";
console.log(pattern.test(text));  // 输出: true

3. 动态生成正则

场景描述: 根据用户输入的关键词动态生成匹配正则。

  • 参数/步骤:
  • 匹配需求:根据用户输入的多个关键词,生成一个匹配任意一个关键词的正则。
  • 示例文本:
  • 成功示例:hello world
  • 失败示例:hi there
  • 语言/工具:Shell
  • 操作类型:匹配验证

代码示例:

#!/bin/bash
keywords=("error" "warning" "critical")
pattern=$(IFS=\|; echo "${keywords[*]}")
echo $pattern  # 输出: error\|warning\|critical

4. 复杂数据清洗

场景描述: 清洗包含多个错误格式的日期数据。

  • 参数/步骤:
  • 匹配需求:匹配并修正格式不一致的日期(如 "2023-01-23" 和 "23/01/2023")。
  • 示例文本:
  • 成功示例:2023-01-23
  • 失败示例:23/01/2023
  • 语言/工具:Python
  • 操作类型:替换

代码示例:

import re

pattern = r'^(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})$|^(?P<day>\d{2})\/(?P<month>\d{2})\/(?P<year>\d{4})$'
text = "23/01/2023"
match = re.match(pattern, text)
if match:
    year = match.group('year') or match.group('year')
    month = match.group('month') or match.group('month')
    day = match.group('day') or match.group('day')
    print(f"{year}-{month}-{day}")  # 输出: 2023-01-23

📋 实战案例(3个真实场景)

案例一:日志提取

场景描述: 提取包含错误信息的日志条目。

  • 输入示例:
  • 匹配需求:提取包含 "ERROR" 的日志条目。
  • 示例文本:
  • 成功示例:2023-01-23 12:00:00 ERROR Failed to load module
  • 失败示例:2023-01-23 12:05:00 INFO Module loaded successfully
  • 语言/工具:Python
  • 操作类型:提取

输出要点:

  • 正则表达式:ERROR\s.*
  • 代码示例:
import re

pattern = r'ERROR\s.*'
text = "2023-01-23 12:00:00 ERROR Failed to load module"
match = re.search(pattern, text)
print(match.group())  # 输出: ERROR Failed to load module

案例二:表单校验

场景描述: 校验用户输入的电子邮件地址。

  • 输入示例:
  • 匹配需求:校验有效的电子邮件地址格式。
  • 示例文本:
  • 成功示例:user@[示例域名]
  • 失败示例:userexample.com
  • 语言/工具:JavaScript
  • 操作类型:匹配验证

输出要点:

  • 正则表达式:^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
  • 代码示例:
const pattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const text = "user@[示例域名]";
console.log(pattern.test(text));  // 输出: true

案例三:文本匹配

场景描述: 匹配包含特定关键词的句子。

  • 输入示例:
  • 匹配需求:匹配包含 "AI" 和 "machine learning" 的句子。
  • 示例文本:
  • 成功示例:AI and machine learning are transforming the industry.
  • 失败示例:Machine learning is important in AI research.
  • 语言/工具:Shell
  • 操作类型:匹配验证

输出要点:

  • 正则表达式:.*\b(AI|machine learning)\b.*\b(machine learning|AI)\b.*
  • 代码示例:
#!/bin/bash
pattern=".*\\b(AI|machine learning)\\b.*\\b(machine learning|AI)\\b.*"
text="AI and machine learning are transforming the industry."
if [[ $text =~ $pattern ]]; then
    echo "Match found!"
else
    echo "No match."
fi

💰 价值对比(为什么这个工具值得用)

1. 提高效率

  • 优势: 自动化生成正则表达式,省去了手动编写和调试的时间,显著提高开发效率。
  • 对比: 手工编写正则需要反复测试和修改,耗时较长;通用 AI 直接问可能无法提供具体、可操作的解决方案。

2. 减少错误

  • 优势: 由专业正则表达式专家生成的正则,减少了人为错误的可能性。
  • 对比: 手工编写或使用普通 AI 生成的正则可能存在语法错误或匹配不准确的问题。

3. 易于理解

  • 优势: 每个正则表达式的解释和测试用例详细说明,帮助用户快速理解和应用。
  • 对比: 通用 AI 直接问可能只提供正则本身,缺乏详细的解释和验证步骤,增加了学习成本。

🎯 使用场景与适用人群

适用人群

  1. 开发者:需要频繁编写和调试正则表达式的软件开发人员。
  2. 数据分析师:处理和清洗复杂文本数据的分析人员。
  3. 系统管理员:需要提取和验证日志信息的运维工程师。

使用场景

  1. 文本匹配:从大量文本中提取特定内容,如日志分析、数据挖掘等。
  2. 数据清洗:清理和标准化用户输入数据,确保数据格式一致。
  3. 表单校验:验证用户提交的数据是否符合要求,提高系统安全性。
  4. 编程开发:在编程过程中需要动态生成和使用正则表达式的情况。

通过以上章节的添加,该 Skill 的内容已经升级为顶级付费级质量,涵盖了高阶用法、实战案例、价值对比以及适用场景与人群,确保用户能够全面了解和掌握其功能与应用。

相关推荐

分类:编程与开发  ·  适合人群:开发者/创业者/企业IT  ·  预期效果:提升开发效率/降低技术门槛  ·  标签:—