1
我需要從字符串中提取4位數字:正則表達式從字符串中提取4位數字 - Android電子
如「您的登錄OTP是7832.這個代碼將在12:43到期:09PM「from Android in SMS
我想提取7832或任何4位數的字符串內的代碼。我確保字符串中只有一個4位數的代碼。
請幫幫我。我試圖使用如下模式:
str.matches(".*\\\\d+.*");
但我無法理解正則表達式。
我需要從字符串中提取4位數字:正則表達式從字符串中提取4位數字 - Android電子
如「您的登錄OTP是7832.這個代碼將在12:43到期:09PM「from Android in SMS
我想提取7832或任何4位數的字符串內的代碼。我確保字符串中只有一個4位數的代碼。
請幫幫我。我試圖使用如下模式:
str.matches(".*\\\\d+.*");
但我無法理解正則表達式。
String data = "Your otp for the login is 7832. This code will expire at 12:43:09PM";
Pattern pattern = Pattern.compile("(\\d{4})");
// \d is for a digit
// {} is the number of digits here 4.
Matcher matcher = pattern.matcher(data);
String val = "";
if (matcher.find()) {
val = matcher.group(1); // 4 digit number
}
感謝您的回答。 matcher.group(1)的含義是什麼。 「1」在這裏代表什麼? –
詳情請參考http://stackoverflow.com/questions/16517689/confused-about-matcher-group-in-java-regex – sasikumar