java:使用正则提取字符串中的数字(比如提取短信中的验证码)

java:使用正则提取字符串中的数字(例如提取短信中的验证码)

使用java正则可以很方便的从字符串中提取符合条件的内容。

1.提取字符串中所有的手机号:

private void getPhoneNum(String smsBody) {
        Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}");
        Matcher matcher = pattern.matcher(smsBody);

        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
2.在Android开发中,有时候需要提取短信中的验证码(6位数字):

private String getYzmFromSms(String smsBody) {
        Pattern pattern = Pattern.compile("\\d{6}");
        Matcher matcher = pattern.matcher(smsBody);

        if (matcher.find()) {
            return matcher.group();
        }

        return null;
    }