关于正则表达式的问题!在线求救!。。。 (\\d+(\\.\\d*)?); (\\d+(\\.\\d+)?); (\\d+\\.?\\d+); 中三个不同?为什么导致了三种不同结果, 谁能解释一下? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String regEx = "[+|-]?(\\d+(\\.\\d+)?)|(\\.\\d+)"; //输出是:“3”[+|-]? 是指+ 或- 其中有一个或0个...[] 代表一个字符....| 代表或? 代表前面内容出现一次或0次...(\\d+(\\.\\d+)?)|(\\.\\d+) 代表是符点数或整数 或点后面一个整数() 里面是一个整体.一般都是一个字符串\\d 代表数字+ 代表出现一次或多次.....\\. 代表一个小数点"[+|-]?(\\d+(\\.\\d+)?)|(\\.\\d+) 从整体看.....这个匹配的主要是(\\d+(\\.\\d+)?)前央[+|-]是可有可无的...后面又是个或....而这一问分中(\\.\\d+)?又是可无的..所以只要和\\d+ 匹配就行了...第一个就这样分析..以后的你自己分析吧 对于[+|-]?(\\d+(\\.\\d+)?)|(\\.\\d+),关心的是(\\.\\d+)部分,它表达的意思是如果出现了.,那么后面要跟至少一个数字,从而 3匹配,而3.不匹配 对于[+|-]?(\\d+(\\.\\d*)?)|(\\.\\d+),来看(\\.\\d*)==>如果出现了.,那么不必出现任何数字==>3.匹配(当然,3也是匹配的, 不过Regex使用的是贪婪匹配) 对于[+|-]?(\\d+\\.?\\d+)|(\\.\\d+),很显然,3是不能完成匹配的. ps:这可能是你要的: [+-]?(\\d+(\\.\\d+)?|\\.\\d+) 请问有没有中文的类似Professional Java JDK 6的JDK学习资料啊 (散分)抽象类和接口的区别 parseDouble返回的是double,为什么Double的封装器也能接受呀 课程设计 怎么样才能弹出一个消息框 package 问题 大家一定要回我哦??? 请问哪里有比较好的学习java的书? 帮我看看这段代码什么意思 一个初学者向各位请教 Exception in thread "main" java.lang.NoClassDefFoundError Applet在网页中如何实现粘贴功能? -sourcepath问题
[] 代表一个字符....
| 代表或
? 代表前面内容出现一次或0次...
(\\d+(\\.\\d+)?)|(\\.\\d+) 代表是符点数或整数 或点后面一个整数
() 里面是一个整体.一般都是一个字符串
\\d 代表数字
+ 代表出现一次或多次.....
\\. 代表一个小数点"[+|-]?(\\d+(\\.\\d+)?)|(\\.\\d+) 从整体看.....这个匹配的主要是(\\d+(\\.\\d+)?)
前央[+|-]是可有可无的...后面又是个或....
而这一问分中(\\.\\d+)?又是可无的..所以只要和\\d+ 匹配就行了...
第一个就这样分析..以后的你自己分析吧
3匹配,而3.不匹配
对于[+|-]?(\\d+(\\.\\d*)?)|(\\.\\d+),来看(\\.\\d*)==>如果出现了.,那么不必出现任何数字==>3.匹配(当然,3也是匹配的,
不过Regex使用的是贪婪匹配)
对于[+|-]?(\\d+\\.?\\d+)|(\\.\\d+),很显然,3是不能完成匹配的.
ps:这可能是你要的:
[+-]?(\\d+(\\.\\d+)?|\\.\\d+)