我正在开发Android应用程序以从SMS读取OTP,并提供用户选项以直接将OTP复制到剪贴板中。
现在的问题是短信可以如下:-
我需要使用Java中的Pattern和Matchers提取otp的帮助。 或任何其他简单的解决方案来获得otp。第三种情况可以忽略。 如果我们可以通过使用模式和匹配器从SMS中获取4或5或6位数字,则它也将起作用。
答案 0 :(得分:0)
您可以使用此
这将涵盖您在示例中给出的所有三种情况。
^\d+(?=\sis)|(?<=is\s)\d+\.?$
^\d+(?=\sis)
-匹配后跟space
和is
的任何数字。 (^
锚定到字符串的开头)。涵盖了第二个示例的条件。(?<=is\s)\d+\.?$
-匹配is
和space
之后的任何数字。 ($
锚定到字符串的结尾)。涵盖第一个和最后一个示例