Java Regex进入无限循环

时间:2012-08-02 09:12:51

标签: java regex

我有一个段落,我试图应用正则表达式。不幸的是,它进入了无限循环。能不能让我知道这个正则表达式有什么问题。

正则表达式,

(([A-Z]\w*[\s\.\u0026]*){1,}\s(\d{4})|(\d{4})\s([A-Z]\w*[\s\.\u0026]*){1,})\s(\(\d+\))\s(\d+)

段落,

  

鉴于L. S. Meena博士,科学家C Gr。 IV(2)已被定罪   根据第815.04(4)(A)条提出的刑事指控   BOYSCAT奖学金期间在美国逗留期间的知识产权   并被判处服刑24天在Orange   县监狱有24天的信用时间服务w.e.f. 3月22日,   2005年第九届第九届巡回法院电路法院   美国佛罗里达州奥兰治县。

你也可以告诉我有没有工具可以告诉我,正则表达式中是否有漏洞?

谢谢, 戒日

1 个答案:

答案 0 :(得分:1)

这看起来像是一个'病态的'正则表达式,即由于重复重复,例如([A-Z]\w*[\s\.\u0026]*){1,},它会遭受灾难性的回溯。

此处解释了灾难性的回溯:http://www.regular-expressions.info/catastrophic.html