使用正则表达式来判断一个字符串只是否包含数字
1、第一种
import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String inputString = "12345";if (containsOnlyDigits(inputString)) {System.out.println("字符串只包含数字。");} else {System.out.println("字符串包含其他字符。");}}private static boolean containsOnlyDigits(String str) {// 使用正则表达式匹配字符串中是否都是数字String regex = "\\d+";return Pattern.matches(regex, str);}
}
在这个例子中,containsOnlyDigits
方法使用了正则表达式"\\d+"
,该正则表达式必须要求字符串中的每个字符都是数字。如果字符串符合这个模式,方法返回true
,否则返回false
。
如果您希望字符串可以为空(不包含数字),可以将正则表达式修改为"\\d*"
,其中*
表示零个或多个。
2、第二种
import java.util.regex.Pattern;public class Main {public static void main(String[] args) {String inputString = "12345";if (containsOnlyDigits(inputString)) {System.out.println("字符串只包含数字。");} else {System.out.println("字符串包含其他字符。");}}private static boolean containsOnlyDigits(String str) {// 使用正则表达式匹配数字String regex = "^[0-9]+$";return Pattern.matches(regex, str);}
}
在这个例子中,containsOnlyDigits
方法使用了正则表达式"^[0-9]+$"
,该正则表达式表示字符串应该以数字并且只包含数字。如果字符串满足这个模式,方法返回true
,否则返回false
。
你可以根据实际需要修改正则表达式。如果你希望字符串中可以包含一个或多个数字,可以将正则表达式为。这里,表示一个数字字符,"\\d+"
而\\d
表示+
匹配一个或多个。