正则与模糊匹配:n8n If 节点如何判断字符串包含、以…开头/结尾?

2026-01-22 11 0

别再用“肉眼”做筛选了,你的 n8n 需要一双“鹰眼”

兄弟们,我是 N8N大学 的主编。在自动化的世界里,最累的不是跑流程,而是做判断。尤其是当你面对一堆乱七八糟的字符串数据时,比如“订单号:A123”、“退款-2024”、“客户_007”。

正则与模糊匹配:n8n If 节点如何判断字符串包含、以...开头/结尾?

如果你还在用 If 节点写那种“如果包含 A 就... 如果包含 B 就...”的长链式判断,那你真的该停下来了。这不仅效率低,而且极其脆弱。今天,笔者就带你彻底搞定 n8n If 节点的“模糊匹配”与“正则匹配”,让你一次配置,终身受用。

If 节点的“硬核”逻辑:String 模式 vs Regex 模式

打开你的 n8n 工作流,拖入一个 If 节点,你会发现它其实有两个核心世界:String(字符串)和 Regex(正则表达式)。

别被“正则”两个字吓到,n8n 已经把大部分常用功能封装好了。笔者建议,只要涉及模糊匹配,尽量少用普通的 String 模式,多用 Regex,因为它的容错率和扩展性简直是降维打击。

场景一:判断字符串“包含”特定内容

这是最常见的需求。比如,你收到一条消息,只要包含“报警”两个字,就触发钉钉通知。

传统笨办法: 在 String 模式下,操作符选 contains,值填“报警”。这没问题,但如果你想同时匹配“故障”和“错误”呢?你就得加节点,或者写复杂的逻辑。

硬核解法(Regex):

  1. 操作符选择: Regex
  2. 值填写: .*(报警|故障|错误).*

这里的 .* 代表任意字符,| 代表“或”。这句话的意思是:前后可以是任何东西,但中间必须包含“报警”、“故障”或“错误”中的任意一个。这才是真正的“包含”。

场景二:判断“以...开头”与“以...结尾”

这个场景在处理 API 返回值或文件名时特别有用。比如,判断一个订单 ID 是否以 “ORD” 开头,或者一个日志文件是否以 “.log” 结尾。

1. 以...开头 (Starts With)

在 Regex 模式下,使用脱字符 ^

  • 目标: 判断字符串是否以 “Error” 开头。
  • Regex 写法: ^Error
  • 逻辑: ^ 锁死了字符串的起始位置,只要开头不是 Error,通通不通过。

2. 以...结尾 (Ends With)

在 Regex 模式下,使用美元符号 $

  • 目标: 判断字符串是否以 “.com” 结尾。
  • Regex 写法: .com$
  • 注意: 这里的点 . 是正则中的特殊字符,所以需要加反斜杠 进行转义。这在 n8n 正则中非常重要,笔者经常看到新手在这里翻车。

场景三:实战中的“大小写不敏感”陷阱

这是一个巨大的坑,也是 N8N大学 必须提醒你的地方。假设你要判断字符串是否包含 “N8N”。

如果你直接写 Regex: .*N8N.*,那么输入是 “I love n8n” 会判断失败,因为大小写不匹配。

解决方案: 在 If 节点的 Regex 设置中,找到 Flags (标志) 选项(通常在输入框旁边的小齿轮或下拉菜单里),填入 i

或者,在正则表达式中直接写:
(?i).*n8n.*

加上 i 之后,它就变成了“不区分大小写”的模式。无论数据是 N8N、n8n 还是 N8n,统统都能匹配成功。这是自动化流程健壮性的关键。

总结:让 If 节点成为你的数据过滤器

不要再把 If 节点当成简单的“开关”,把它当成一个“过滤器”。通过 Regex,你可以精准地拦截出你需要的数据,把脏数据扔进错误处理流程,或者直接忽略。

记住,好的自动化流程,不是因为它跑得快,而是因为它面对乱七八糟的数据时,依然能冷静地做出正确的选择。

FAQ 问答

Q1: 我完全不懂正则,怎么办?
A: 笔者建议先从 String 模式的 contains 开始练习。当你发现它无法满足“或者”、“且”这种复杂逻辑时,回头来看这篇文章,复制粘贴上面的 Regex 模板,慢慢你就上手了。

Q2: Regex 模式匹配中文会报错吗?
A: 不会。n8n 的 Regex 引擎完美支持 Unicode(包括中文)。你直接写 .*(你好|世界).* 完全没问题。

Q3: 如果我想匹配换行符怎么办?
A: 默认情况下,点号 . 不匹配换行符。如果你需要跨行匹配(比如匹配多行日志),请在 Flags 中加入 s (dotall) 或者使用 [sS] 代替 .

总结与资源

掌握了 If 节点的正则匹配,你就掌握了 n8n 数据清洗的半壁江山。不要害怕正则,它是你通往高阶自动化的必经之路。

更多硬核教程,请持续关注 N8N大学 (n8ndx.com),笔者在这里陪你避坑,带你起飞。

相关文章

n8n Wait节点在数据同步中的延迟控制实战
n8n Wait节点免费版:我能用它实现定时任务吗?
n8n Error Handling节点:当自动化流程“翻车”时,如何让它自动“扶起来”?
n8n Error Handling节点报错常见问题解决
当n8n流程意外中断,Error Handling节点如何配置才能优雅降级?
n8n Error Handling节点和Try/Catch节点,到底该怎么选?

发布评论