仅凭 Excel 从日志中提取 ID、邮箱和 IP —— 使用 REGEXEXTRACT / REGEXREPLACE

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

关于本文
本文是通过利用生成式 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,根据情况进行区分使用是很自然的。

GitHub 示例

官方信息・第一手资料

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

标题和URL已复制