在 java 中使用正则表达式验证数字
Validate number using regular expression in java
谁能帮我验证像这样的数字:
1,478.25
只允许 .
和 ,
等特殊字符
(@#$_&-+()/"':;!?~`|•√π÷׶={} not allowed )*.
这是我迄今为止尝试过的正则表达式:
/^[0-9]+([,][0-9]+)?$/
我们将不胜感激您的帮助。
有效数字为 123.45 1,234.5 和 0.01
这是您需要的正则表达式:^(\d{1,3},)*(\d{1,3})(.\d{1,3})?$
以及 global
和 multiline
标志。
你的代码应该是这样的:
final String regex = "^(\d{1,3},)*(\d{1,3})(\.\d{1,3})?$";
final String string = "1,478.25\n"
+ "1,450\n"
+ "48.10\n"
+ "145.124.14";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
}
这是a live Demo。
请使用以下正则表达式来验证带有一位小数和多个逗号的数值
String num="1,335.25";
String exp ="^[-+]?[\d+([,]\d+)]*\.?[0-9]+$";
if(num.matches(exp)){
System.out.println("valid number");
}else{
System.out.println("Not a valid number");
}
请检查这个。
我认为这个正则表达式正是您所需要的
^\d{1,}(,\d+)?\.\d+$
谁能帮我验证像这样的数字:
1,478.25
只允许 .
和 ,
等特殊字符
(@#$_&-+()/"':;!?~`|•√π÷׶={} not allowed )*.
这是我迄今为止尝试过的正则表达式:
/^[0-9]+([,][0-9]+)?$/
我们将不胜感激您的帮助。 有效数字为 123.45 1,234.5 和 0.01
这是您需要的正则表达式:^(\d{1,3},)*(\d{1,3})(.\d{1,3})?$
以及 global
和 multiline
标志。
你的代码应该是这样的:
final String regex = "^(\d{1,3},)*(\d{1,3})(\.\d{1,3})?$";
final String string = "1,478.25\n"
+ "1,450\n"
+ "48.10\n"
+ "145.124.14";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
}
这是a live Demo。
请使用以下正则表达式来验证带有一位小数和多个逗号的数值
String num="1,335.25";
String exp ="^[-+]?[\d+([,]\d+)]*\.?[0-9]+$";
if(num.matches(exp)){
System.out.println("valid number");
}else{
System.out.println("Not a valid number");
}
请检查这个。
我认为这个正则表达式正是您所需要的
^\d{1,}(,\d+)?\.\d+$