You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中验证批量短信是否符合指定模板格式?

Excel中检查短信是否匹配对应模板的实操方法

核心逻辑

把模板里的[xxx]占位符替换成正则匹配规则,用正则校验实际短信的结构是否和模板一致——毕竟实际短信只是替换占位符,固定文本部分必须完全对应。

具体操作步骤

1. 把模板转成正则表达式

根据需求分两种情况处理:

  • 只校验结构(不限制占位符内容):把所有[xxx]替换成.*?(非贪婪匹配,防止把后面的固定文本也当成占位符内容),同时把模板里的.转成\.(因为.在正则里代表“任意字符”,要转义成普通点)。
    比如原模板:
    Your appointment is confirmed with [name] at [hh:mm] on [dd/mm/yy]. Please bring all your related documents.
    
    转成正则后:
    Your appointment is confirmed with .*? at .*? on .*?\. Please bring all your related documents\.
    
  • 严格校验占位符格式:比如时间[hh:mm]要匹配xx:xx格式,就换成\d{2}:\d{2};日期[dd/mm/yy]换成\d{2}/\d{2}/\d{2},最终正则:
    Your appointment is confirmed with .*? at \d{2}:\d{2} on \d{2}/\d{2}/\d{2}\. Please bring all your related documents\.
    

2. 用VBA自定义函数做匹配(推荐)

Excel本身没有内置正则函数,写个简单的自定义函数就能解决:

  1. 按Alt+F11打开VBA编辑器,右键插入「模块」
  2. 粘贴以下代码:
Function IsMatchSMS(smsText As String, regexPattern As String) As Boolean
    Dim regEx As Object
    Set regEx = CreateObject("VBScript.RegExp")
    regEx.Pattern = regexPattern
    IsMatchSMS = regEx.Test(smsText)
End Function
  1. 保存文件(注意要存成.xlsm启用宏的格式)
  2. 回到Excel,在空白单元格输入公式:=IsMatchSMS(A2, B2)
    • A2是要检查的实际短信,B2是对应模板转好的正则
    • 返回TRUE表示符合模板,FALSE表示不符合

3. 不用VBA的替代方法(适合禁用宏的场景)

把模板拆成几个固定文本片段,检查这些片段是否按顺序出现在短信里:
比如原模板拆成:

  • "Your appointment is confirmed with "
  • " at "
  • " on "
  • ". Please bring all your related documents."

用这个公式检查:

=AND(ISNUMBER(SEARCH("Your appointment is confirmed with ",A2)),ISNUMBER(SEARCH(" at ",A2,SEARCH("Your appointment is confirmed with ",A2)+LEN("Your appointment is confirmed with "))),ISNUMBER(SEARCH(" on ",A2,SEARCH(" at ",A2)+LEN(" at "))),ISNUMBER(SEARCH(". Please bring all your related documents.",A2,SEARCH(" on ",A2)+LEN(" on "))))

返回TRUE说明固定文本按顺序存在,结构符合模板。

4. 多模板批量检查

如果有好几套模板,用OR函数把多个匹配结果拼起来:
比如3个模板的正则在B2、C2、D2,公式写成:
=OR(IsMatchSMS(A2,B2),IsMatchSMS(A2,C2),IsMatchSMS(A2,D2))
返回FALSE就代表这条短信不匹配任何一套模板。

5. 快速标记不符合的短信

用条件格式一键高亮:

  1. 选中所有短信所在单元格
  2. 点击「开始」→「条件格式」→「新建规则」
  3. 选择「使用公式确定要设置格式的单元格」,输入公式:=NOT(IsMatchSMS(A2,B2))
  4. 设置填充颜色为红色,就能一眼看到不符合的短信

内容的提问来源于stack exchange,提问作者Tan Phat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:40:41