在Coze工作流中须用内置正则节点而非re模块,手机号正则为1[3-9]\d{9}且不加^$锚点、勾选全局匹配并设输出为数组;邮箱可单正则混提(需后续判别)或分两次提取;精准分离邮箱用户名与域名需用捕获组+对象输出格式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在扣子(Coze)工作流中用正则表达式节点提取电话和邮箱,需避开平台对原始re模块的屏蔽限制,直接使用其内置正则节点配置匹配逻辑,否则会因语法不兼容或字段未启用而返回空结果。
配置正则表达式节点提取手机号
进入工作流编辑页→点击「+」添加节点→选择「正则表达式」节点。
在「输入文本」字段绑定上游变量(如 user_input 或 response_text);在「正则表达式」栏填写:1[3-9]\d{9}。
这能匹配中国大陆标准11位手机号,开头为13/14/15/17/18/19,后面紧跟9位数字;【不加^和$锚点,否则无法从长文本中提取】。
勾选「全局匹配」→「输出格式」选「数组」→节点输出变量名设为 phone_list。
一行正则同时提取邮箱与手机号
方法一:用竖线 | 拼接两个模式,适用于混合文本中需一并捕获的场景。
正则表达式填:1[3-9]\d{9}|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}。
注意:该写法会把两类结果混在一个数组里,后续需靠字符串特征(含@为邮箱、纯数字且长度为11为手机号)二次判断。
方法二:分两次调用正则节点,更稳妥——先提邮箱,再提手机号,各自独立输出变量,避免类型混淆。
精准提取邮箱并分离用户名与域名
第一步:添加正则表达式节点,输入文本绑定原始内容。
第二步:正则表达式填:([a-zA-Z0-9._%+-]+)@([a-zA-Z0-9.-]+\.[a-zA-Z]{2,})。
第三步:开启「捕获组」→「输出格式」选「对象」→系统自动生成 keys 为 group_1(用户名)、group_2(域名)的 JSON 输出。
第四步:在下游节点中用 {{regex_node.group_1}} 直接引用用户名,{{regex_node.group_2}} 引用域名部分。
这一步必须用圆括号明确分组,否则「对象」模式无字段可映射;【少一对括号,group_1/group_2 就不会生成】。


















