String line = "asdasdasdasd <meta name=\"generator\" content=\"WordPress 3.5.2\" /> asdasdasdasdasd";
Pattern p = Pattern.compile("<meta name=\"generator\" content=\"WordPress\\s+([\\d.]+)\" />");
Matcher m = p.matcher(line);
if(m.matches())
System.out.println(m.group(1));
else
System.out.println("not found");
我使用的正则表达式没有给出所需的结果。我想要提供字符串的wordpress版本。
答案 0 :(得分:1)
Matcher#matches()
匹配字符串的开头。因此,您需要为完整字符串构建正则表达式。
或者,您可以将Matcher#find()
与正则表达式一起用于字符串的相关部分:
Pattern p = Pattern.compile("content=\"WordPress\\s+([\\d.]+)\"");
Matcher m = p.matcher(line);
if(m.find())
System.out.println(m.group(1));
else
System.out.println("not found");
答案 1 :(得分:0)
你必须逃避点并接受更多数字以防万一
Pattern p = Pattern.compile("WordPress\\s+([\\d+\\.]+)");