正则表达式引起CPU长时间表100%,请各位达人指点

shingle 2010-02-02 05:41:17
我们需要一个正则表达式,用来保证用户输入正确,
正则表达式是 "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+"
用来匹配数字、负号、波浪线、小数点、逗号,
代码如下:

public class TestReg
{
public static void main(String[] args)
{
/**
* 仅匹配数字、负号、波浪线、小数点、逗号
*/
final String MATCHING_MULTI_REG = "([-]|([-]?[\\d]+[.]?[\\d]*[~]?[-]?[\\d]*[.]?[\\d]*)[,]?)+";
String proposedValue = "0.0-0.0,0.0-4.3125,4.3125-4.3125\n,4.3125-8.625"; //注意这里中间有换行。
boolean matchs = proposedValue.matches(MATCHING_MULTI_REG); //运行到这里就挂了,CPU一直100%。
}
}
...全文
88 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
realreachard 2010-02-02
  • 打赏
  • 举报
回复
推荐给你个东西

expresso
successgl 2010-02-02
  • 打赏
  • 举报
回复
为什么要加[]?去了也不影响啊,去了试试呗

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧