正则表达式隐藏了哪些潜在陷阱?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2406个文字,预计阅读时间需要10分钟。
博主人气独立站点开通啦!欢迎点击访问:https://shuyi.tech/文章首发于【自由互联-陈树义】,点击跳转到原文《藏在正规表达式中的陷阱》+ 前几天线上一个项目监控信息突然报告异常。
博主个人独立站点开通啦!欢迎点击访问:shuyi.tech
文章首发于,点击跳转到原文《藏在正则表达式里的陷阱》前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。
我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈中一共超过 100 处。通过排查代码,我们知道这个方法的主要功能是校验 URL 是否合法。
很奇怪,一个正则表达式怎么会导致 CPU 利用率居高不下。为了弄清楚复现问题,我们将其中的关键代码摘抄出来,做了个简单的单元测试。
本文共计2406个文字,预计阅读时间需要10分钟。
博主人气独立站点开通啦!欢迎点击访问:https://shuyi.tech/文章首发于【自由互联-陈树义】,点击跳转到原文《藏在正规表达式中的陷阱》+ 前几天线上一个项目监控信息突然报告异常。
博主个人独立站点开通啦!欢迎点击访问:shuyi.tech
文章首发于,点击跳转到原文《藏在正则表达式里的陷阱》前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现 CPU 利用率将近 100%。通过 Java 自带的线程 Dump 工具,我们导出了出问题的堆栈信息。
我们可以看到所有的堆栈都指向了一个名为 validateUrl 的方法,这样的报错信息在堆栈中一共超过 100 处。通过排查代码,我们知道这个方法的主要功能是校验 URL 是否合法。
很奇怪,一个正则表达式怎么会导致 CPU 利用率居高不下。为了弄清楚复现问题,我们将其中的关键代码摘抄出来,做了个简单的单元测试。

