在我的 android 应用程序中,我正在解析通过广播收到的短信。
我将我的正则表达式放在 string.xml 中
<string name="message_verification_regex">^.*Your Verification Code is \\d{4}.*$</string>
我要解析的消息是
1234567890:
Your Verification Code is 5840.
Team ABC
-
Reply via way2sms.com. Now available on your mobile.
我的正则表达式有什么问题?
最佳答案
该字符串为多行字符串,但点不匹配换行符。使用
<string name="message_verification_regex">^[\\s\\S]*?Your Verification Code is \\d{4}[\\s\\S]*$</string>
表达式 [\s\S]
匹配任何空白字符和任何非空白字符,这实际上意味着任何字符。
我必须补充一点,我不知道在使用带有此正则表达式的字符串的情况下是否真的有必要使用附加反斜杠转义反斜杠。因此也请尝试:
<string name="message_verification_regex">^[\s\S]*?Your Verification Code is \d{4}[\s\S]*$</string>
关于java - 为什么我的正则表达式在 android 的短信接收器上没有被正确解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25228415/