假设我有一个字符串,它可能是
1234
或
12 34
或
1 2 3 4 5
数字或空格的数量并不重要,只要它接受一个只有数字的字符串,并且如果数字字符串中有空格,它仍然会接受它。我该如何编写这个正则表达式模式呢?
发布于 2014-01-28 09:22:45
使用String#matches()和正则表达式:
if (str.matches("[\\d\\s]+"))
// string is acceptable发布于 2014-01-28 09:22:39
如果只有空格是可以接受的,那么您想要的正则表达式是"[\\d\\s]+"
如果必须有一个或多个数字,则可以使用"\\s*(\\d\\s*)+"
请注意,我已将反斜杠加倍,假设您是在Java源代码中编写此代码,而不是从其他文本源中读取它。第二种情况下的实际正则表达式是\s*(\d\s*)+
https://stackoverflow.com/questions/21395110
复制相似问题