关于本文
本文是通过利用生成式 AI 的自动化工作流创建的。我们确认了 Microsoft Support 的 REGEXEXTRACT / REGEXREPLACE 规范,并将其整理为仅使用 Excel 提取和掩码日志字符串的 TIPS。验证状态:📘 已确认官方规范・已实现公式示例・目标 Excel 实机未确认
仅凭 Excel 从日志中提取 ID、邮箱和 IP —— 使用 REGEXEXTRACT / REGEXREPLACE
如果是 Microsoft 365 版 Excel,有时你甚至不需要为了使用正则表达式而编写 VBA。由于可以使用 REGEXEXTRACT 进行提取,使用 REGEXREPLACE 进行替换,因此对于单单元格的日志格式化来说,仅靠公式就足够了。
例如,假设 A2 包含以下字符串。
REQ-20260906 user=tanaka@example.com ip=192.168.1.20
仅提取请求 ID
=REGEXEXTRACT(A2,"[A-Z]{2,10}-[0-9]{4,}")
结果是 REQ-20260906。
对电子邮箱地址的用户名部分进行掩码
=REGEXREPLACE(A2,"([A-Za-z0-9._%+-]+)@([A-Za-z0-9.-]+.[A-Za-z]{2,})","***@$2")
可以将 tanaka@example.com 替换为 ***@example.com。它还可以应用于将日志传递给 AI 之前的简易掩码。
提取看似 IP 地址的部分
=REGEXEXTRACT(A2,"(?:[0-9]{1,3}.){3}[0-9]{1,3}")
这是一个提取“看似 IPv4 外观”的简单示例。由于 999.999.999.999 也可能匹配,因此不能直接用于严格验证 IP 地址的有效性。
这就是现代的 Excel
根据 Microsoft 的规范,REGEX 系列函数使用 PCRE2 风味的正则表达式。也就是说,它比 Excel 原生的通配符表现力更强,能够将正则表达式的知识引入到公式中。
另一方面,如果是数万行的 ETL,则自然应该选择 Power Query;如果要处理多个文件,则使用 Office Scripts 或 VBA,根据情况进行区分使用是很自然的。


コメント