java正则表达式获取指定词语后面的内容

有这么一条SQL:alter user mydip identified by "HqLabcdyX" account unlock;

现在要取出这个sql里的密码,也就是identified by后的这个值"HqL20613yX",可以这么写

public static void main(String[] args) {

        String inputLine = "alter user mydip identified by \"HqLabcdyX\" account unlock;";
        Pattern r = Pattern.compile(".*identified\\s+by\\s+(\\S+?)($|;|\\s+.+)", Pattern.CASE_INSENSITIVE);
        Matcher m = r.matcher(inputLine);
        if (!m.matches()) {
            throw new IllegalArgumentException("Bad Input");
        }
        
        System.out.println(m.groupCount());
        // 分组0得到的是整个原字符串
        for (int i = 0; i < m.groupCount() + 1; i++) {
            System.out.println("分组" + i + ":" + m.group(i));
        }

|

 

你可能感兴趣的:(java专区,正则表达式,获取指定词语)