Java正则表达式实践: 使用正则表达式判断一个String字符串类型是否为整数或者多个整数构成
我准备把遇到的比较经典的正则表达式的例子做一个集合,如果你遇到正则表达式不会写,请在评论留言。
一、使用正则表达式判断一个String字符串类型是否为整数
1、正则表达式:^[+-]?[\d]+$。解释:以“+/-”为开始,?表示也可以没有前面的符号,然后必须在字符串结尾出现一个数字。
2、实践和测试:
String str = "^[+-]?[\\d]+$";
Pattern pattern = Pattern.compile(str);
String strNum1="+";
String strNum2="12334";
String strNum3="+12345";
String strNum4="-1234";
String strNum5="-+1";
System.out.println(pattern.matcher(strNum1).matches());
System.out.println(pattern.matcher(strNum2).matches());
System.out.println(pattern.matcher(strNum3).matches());
System.out.println(pattern.matcher(strNum4).matches());
System.out.println(pattern.matcher(strNum5).matches());
3、结果为:
二、使用正则表达式判断一个String字符串类型是否为多个整数构成
1、正则表达式:"([+-]?[\\d]+[,]?)+"。我们这里规定数字之间必须使用“,”隔开。有了千米那为基础我们只需要在后面加上“,”的判断,然后用括号括起来进行分组就可以。
2、代码实现:
String str = "([+-]?[\\d]+[,]?)+";
Pattern pattern = Pattern.compile(str);
String strNum="11,-15,14,+12";
Matcher matcher = pattern.matcher(strNum);
//判断是否符合正则表达式
if(matcher.matches()){
//通过String的对象方法来将字符串按照“,”分割成String数组
String[] strNumGroup = strNum.split(",");
for(String strEvery: strNumGroup){
//通过Integer的内置函数将字符串转为数字
System.out.println(Integer.valueOf(strEvery));
}
}
3、输出结果
Java正则表达式实践: 使用正则表达式判断一个String字符串类型是否为整数或者多个整数构成
我准备把遇到的比较经典的正则表达式的例子做一个集合,如果你遇到正则表达式不会写,请在评论留言。
一、使用正则表达式判断一个String字符串类型是否为整数
1、正则表达式:^[+-]?[\d]+$。解释:以“+/-”为开始,?表示也可以没有前面的符号,然后必须在字符串结尾出现一个数字。
2、实践和测试:
String str = "^[+-]?[\\d]+$";
Pattern pattern = Pattern.compile(str);
String strNum1="+";
String strNum2="12334";
String strNum3="+12345";
String strNum4="-1234";
String strNum5="-+1";
System.out.println(pattern.matcher(strNum1).matches());
System.out.println(pattern.matcher(strNum2).matches());
System.out.println(pattern.matcher(strNum3).matches());
System.out.println(pattern.matcher(strNum4).matches());
System.out.println(pattern.matcher(strNum5).matches());
3、结果为:
二、使用正则表达式判断一个String字符串类型是否为多个整数构成
1、正则表达式:"([+-]?[\\d]+[,]?)+"。我们这里规定数字之间必须使用“,”隔开。有了千米那为基础我们只需要在后面加上“,”的判断,然后用括号括起来进行分组就可以。
2、代码实现:
String str = "([+-]?[\\d]+[,]?)+";
Pattern pattern = Pattern.compile(str);
String strNum="11,-15,14,+12";
Matcher matcher = pattern.matcher(strNum);
//判断是否符合正则表达式
if(matcher.matches()){
//通过String的对象方法来将字符串按照“,”分割成String数组
String[] strNumGroup = strNum.split(",");
for(String strEvery: strNumGroup){
//通过Integer的内置函数将字符串转为数字
System.out.println(Integer.valueOf(strEvery));
}
}
3、输出结果