我想从java中的String中获取匹配模式?

时间:2015-06-23 04:43:43

标签: java

我想使用匹配模式获取String

字符串msg =“您的验证码是aBc123此代码有效期为30分钟”

我想从msg字符串中获取字符串或代码

字符串代码=“aBc123”;

2 个答案:

答案 0 :(得分:1)

请做这样的事情。 我已经完成了,现在你也可以获得代码和分钟。 如果您有任何问题,请查看并告诉我。

    String input = "Your verification Code is aBc123 This Code Valied for 30 Minutes";
    Matcher m1 = Pattern.compile("^Your verification Code is (.*) This Code Valied for (.*)$").matcher(input);
    if(m1.find()) {
        String _code = m1.group(1); // aBc123
        String _minutes  = m1.group(2); // 30 Minutes
        System.out.println("Code is : "+_code);
        System.out.println("Minutes is : "+_minutes);

    }

答案 1 :(得分:0)

请试试这个。它识别“代码是”模式并将下一个单词作为验证码。即使你的代码长度和模板没有修复,但模板必须在“代码是”之后的代码中有代码,这也会有用

String msg = "Your verification Code is aBc123 This Code Valied for 30 Minutes";
String words[] = msg.split(" ");
String code = "";
for(int i =0;i<words.length;i++){
      if(words[i].equalsIgnoreCase("code")&&words[i+1].equalsIgnoreCase("is")){
          code = words[i+2];
          break;
      }
}