正则表达式对于验证和操作数据非常有用。不幸的是,Excel 中没有对正则表达式的内置支持。您可以使用 VBA,但这有点太乱了。
在 Excel 插件 SeoTools 中,添加了四种方法:
=RegexpIsMatch(string input; string expr)
将输入字符串与正则表达式匹配,如果匹配则返回 true。
=RegexpFind(string input; string expr; int group)
采用正则表达式并从输入字符串中检索匹配的组。
=RegexpFindOnUrl(string url; string regexp; int group)
与 RegexpFind 相同,但输入字符串是网页的内容。
=RegexpReplace(string input; string expr; string replacement)
在指定的输入字符串中,用指定的替换字符串替换与指定正则表达式匹配的所有字符串。
以下所有示例均假定您已下载 SeoTools 并将其添加到您正在处理的文档中。
假设您有一列包含一堆电子邮件地址,并且您想要查找所有无效地址。以下公式将为所有无效的电子邮件地址返回 FALSE:
=RegexpIsMatch(“[email protected]”;”^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$”)
现在假设您有一个包含文本的列,您想从中提取特定部分,即“Sports (id:4)”,我们想将“4”提取到新列中。
=RegexpFind(A1;”\(id:(\d+)\)”;1)
对于最后一个示例,我们使用 SeoTools 中的正则表达式支持尝试一些简单的网络抓取。在我们的示例中,我们有一组关键字,并希望让公式返回搜索返回的页数。
=RegexpFindOnUrl(“http://www.google.com/search?q=”&UrlEncode(A1);”About ([0-9,]*) results”;1)
对于 SeoTools 中标有“(缓存)”的函数(例如 RegexpFindOnUrl),每个“会话”只会获取一次 URL。因此,如果您要从网页中提取多个部分,则即使您在不同的公式中多次引用 URL,页面的源也只会下载一次。
以上就是关于“在Excel中使用正则表达式”的介绍,大家如果对此比较感兴趣,想了解更多相关知识,不妨来关注一下极悦的Java极悦在线学习,里面的课程内容从入门到精通,通俗易懂,适合小白学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习