Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
^[0-9]\\d*(\\.\\d+)?$
我不能完全弄清楚上面的正则表达式模式在寻找什么。但我不知道。
我的部分困惑源于这样一个事实,即在 SCJP6 认证书中,not 运算符包含在方括号内,而这里它在外面。另外,在正则表达式方面,我通常缺乏经验。
有人可以帮忙吗?[这是来自 Java 程序。以上是Java特有的吗?] 谢谢。
^字符串的开头
^
[0-9]一个数字
[0-9]
\\d*任意数量的数字(0-无穷大)
\\d*
(\\.\\d+)?一次,或根本没有:一个点后跟至少一个数字
(\\.\\d+)?
$字符串的结尾。
$
您有一个复杂的正则表达式,它将匹配任何浮点数或非浮点数。
查看java.util.Pattern课程和Oracle Java Regex 教程。
java.util.Pattern
它正在寻找一个或多个数字,可选地后跟一个.和一个或多个数字。它令人困惑,因为它不必要地复杂。它与
.
^\\d+(\\.\\d+)?$
\d 定义为A digit: [0-9]
A digit: [0-9]
当“ ^”运算符在字符类“ []”之外时,它表示输入的开始,“ $”定义输入的结束。
[]
所以你的描述是正确的,但应该改为:
找到从零到九的单个数字...
有关正则表达式的更多信息,请查看此链接