求match(sourceing,pattern)实现模式匹配的代码
java的代码
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、宣威网站维护、网站推广。
private static Pattern re_lastYear_1 = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})");
m=re_lastYear_1.matcher(s);
if(m.find()){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date();
try {
date = dateFormat.parse(s);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
java正则表达式匹配模式
不需要完全匹配的正则表达式,用m1.find()函数就可以模糊匹配,完整的程序如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class G {
public static void main(String[] args) {
String reg = "\\d{3}\\s+\\d{5}\\s+\\d{3}\\s+\\d{2}";
Pattern p1 = Pattern.compile(reg);
String u = "CQGM021R1 581 12138 460 00 41739-1 in-service ";
Matcher m1 = p1.matcher(u);
while(m1.find()){
System.out.println(m1.group());
}
}
}
运行结果:
581 12138 460 00
Java编程实现字符串的模式匹配
传统的字符串模式匹配算法(也就是BF算法)就是对于主串和模式串双双自左向右,一个一个字符比较,如果不匹配,主串和模式串的位置指针都要回溯。这样的算法时间复杂度为O(n*m),其中n和m分别为串s和串t的长度。
KMP 算法是由Knuth,Morris和Pratt等人共同提出的,所以成为Knuth-Morris-Pratt算法,简称KMP算法。KMP算法是字符串模式匹配中的经典算法。和BF算法相比,KMP算法的不同点是匹配过程中,主串的位置指针不会回溯,这样的结果使得算法时间复杂度只为O(n+m)。
本文标题:模式匹配Java代码,编写程序实现模式匹配算法
分享URL:http://lswzjz.com/article/dsgcogc.html