Java正则表达式Pattern类的用法

来源:互联网 发布:php 三级分销 开源 编辑:程序博客网 时间:2024/06/04 23:22


在java中写正则表达式需要用到Pattern 类的compile方法,使用此方法时要注意,不要在compile 里正则表达式,要把正则表达式放在外面定义好,再放在里面,否则会出一些诡异的问题


正确的写法:

String pat = ".*_(.*)_(.*?)\\.?\\[(.*)\\]\\[.*\\]\\.txt";Pattern p_pc = Pattern.compile(pat);Matcher m_other = p_pc.matcher(CNfileName);if (m_other.find()) {  System.out.println(m_other.group(1));  System.out.println(m_other.group(2));  System.out.println(m_other.group(3));}



错误的写法如下:

Pattern p_pc = Pattern.compile(".*_(.*)_(.*?)\\.?\\[(.*)\\]\\[.*\\]\\.txt");Matcher m_other = p_pc.matcher(CNfileName);if (m_other.find()) {  System.out.println(m_other.group(1));  System.out.println(m_other.group(2));  System.out.println(m_other.group(3));}




0 0
原创粉丝点击