android - 从字符串中提取 4 位数字的正则表达式 - Android

标签 android regex

<分区>

我需要从字符串中提取一个 4 位数字:

例如“您的登录密码是 7832。此代码将在下午 12:43:09 过期”来自 Android 中的短信

我想提取 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(0);  // 4 digit number
}

关于android - 从字符串中提取 4 位数字的正则表达式 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858163/

相关文章:

android - v0.79+ 中对 ARM64 的 Realm 支持导致在 Galaxy S6 上找不到其他 native 库

php - PHP 中是否有条件 preg_replace?

regex - 前 4 个字符的正则表达式

php - 以消极的眼光捕捉背后

android - 我想将一个 Activity 分成几个类(class)。是否可以?

android - 找不到 *apk,第一次运行但在第二次运行时工作

java - Fragment 中的 ListView 和 Tabwidget

java - Android 6.0 keystore ClassCastException

python - 如何使用正则表达式从日志文件中跨多行解析文本?

iphone - 如何使用 NSRegularExpression 加速 iPhone 正则表达式?