如何在Dify工作流中配置复杂的正则表达式进行敏感字符的高效提取

P粉328763957

P粉328763957

2026-07-31

460人浏览

原创

必须在dify自定义节点中嵌入可调试、分组、支持贪婪控制的正则表达式提取敏感字段;需用regex101验证python语法,避开\k等不支持特性;按提取数量分路径处理,并通过webhook推送带x-sensitive-extracted标识的审计事件;llm输入须替换为正则脱敏后的masked_content。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何在dify工作流中配置复杂的正则表达式进行敏感字符的高效提取

要在Dify工作流中精准提取身份证号、手机号、银行卡号等敏感字段,必须绕过平台默认的简单匹配逻辑,直接在自定义节点中嵌入可调试、可分组、支持贪婪/非贪婪控制的正则表达式——这一步不能依赖内置文本提取工具。

准备正则表达式并验证语法有效性

打开在线正则测试工具(如 regex101.com),将目标文本粘贴进去,选择 Python flavor;输入类似 r'\b\d{17}[\dXx]\b' 提取身份证号,或 r'1[3-9]\d{9}' 匹配大陆手机号;确认右侧“Match information”面板显示完整捕获组且无 【Unmatched parentheses 或 Invalid escape】 报错。

注意:Dify 自定义节点运行环境为 Python 3.11+,不支持 \K 重置匹配起点,也不支持 (? 变长逆序环视——若你写了这类表达式,运行时会直接抛出 <code>error: look-behind requires fixed-width pattern

在Dify自定义节点中注入正则逻辑

进入工作流编辑页 → 添加“Custom Tool”节点 → 点击“Edit Code” → 替换默认模板为以下结构:

import re

def main(input_data):

  text = input_data.get("content", "")

  # 提取所有18位身份证号(含末位X)

  id_pattern = r'\b\d{17}[\dXx]\b'

  ids = re.findall(id_pattern, text)

perl正则表达式学习手册pdf版
perl正则表达式学习手册pdf版

perl正则表达式学习手册pdf版,点击下载解压即可。想学习perl正则的朋友需要看。

下载

  # 提取带区号的固话(如 021-12345678 或 0755 87654321)

  tel_pattern = r'(?:0\d{2,3}[-\s]?)\d{7,8}'

  tels = re.findall(tel_pattern, text)

  return {"ids": list(set(ids)), "phones": list(set(tels))}

这段代码使用 re.findall 而非 re.search,确保提取全部命中项而非仅第一个;list(set(...)) 去重防止重复敏感信息被多次触发告警。

配置多级敏感词提取与上下文关联

第一步:在 Custom Tool 节点中启用“Allow multiple outputs”,否则返回的 dict 会被强制扁平化为单个字符串,丢失结构。

第二步:添加 Condition Node,设置表达式为 {{#tool_result.ids.length}} > 0,分支走“高危路径”;另一分支设为 {{#tool_result.phones.length}} > 3,走“中风险路径”。

第三步:在高危路径后接“Webhook”节点,向内部审计系统推送原始文本 + 提取结果,请求头中必须携带 【X-Sensitive-Extracted: true】 标识,否则接收方会丢弃该事件。

第四步:将原始文本传入 LLM 节点时,用 {{#input.content}} 替换为 {{#tool_result.masked_content}} —— 这个字段需在 Custom Tool 中手动构造,例如:"masked_content": re.sub(id_pattern, "[ID_HIDDEN]", text),否则模型仍可能输出原始身份证号。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

2026.06.05

72

15

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

2026.06.05

97

15

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

2026.06.05

110

15

Selenium WebDriver元素定位与页面操作教程
Selenium WebDriver元素定位与页面操作教程

本专题整理Selenium WebDriver元素定位、XPath、CSS Selector、等待机制、窗口切换、Frame处理、Alert弹窗、Cookie操作和文件上传等核心用法。

2026.08.05

3

26

Selenium Grid分布式测试与并行执行教程
Selenium Grid分布式测试与并行执行教程

本专题整理Selenium Grid架构、远程WebDriver、并行测试、Docker部署、Kubernetes动态Grid、浏览器矩阵和测试环境扩展方法,适合进阶自动化测试团队使用。

2026.08.05

1

18

Selenium常见报错排查与自动化测试稳定性
Selenium常见报错排查与自动化测试稳定性

本专题整理Selenium常见报错、驱动版本问题、元素找不到、点击失败、等待超时、浏览器闪退、脚本不稳定和测试用例维护方法。

2026.08.05

0

17

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

11

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

8

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

10

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 104人学习

WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 18.8万人学习

JavaScript正则表达式基础与实战
JavaScript正则表达式基础与实战

共11课时 | 1.6万人学习