这个问题不用正则表达式,用JavaString类的contains函数就可以解决了。
具体的Java程序代码如下:
public class CB {public static void check(String source,String target){
boolean flag=false
int i
for(i=0i<source.length()i++){
if(!target.contains(source.charAt(i)+"")){
break
}
}
if(i==source.length()) flag=true
if(flag==true){
System.out.println(source+"和"+target+"匹配")
}else{
System.out.println(source+"和"+target+"不匹配")
}
}
public static void main(String[] args) {
check("6482","600000")
check("6482","006400")
check("6482","020864")
}
}
运行结果:
6482和600000不匹配
6482和006400不匹配
6482和020864匹配
利用正则表达式从给定的字符串中取出符合匹配规则的字符串的Java程序如下:
import java.util.regex.Matcherimport java.util.regex.Pattern
public class E {
public static void main(String[] args) {
Pattern p = Pattern.compile("[A-Za-z]+")//设定匹配规则为取出字符串中的字母
Matcher m = p.matcher("12sifiwq820aufu")//与字符串匹配
while(m.find()){
System.out.println(m.group())
}
}
}
运行结果:
sifiwq
aufu
在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
正则表达式的特点是:
1、灵活性、逻辑性和功能性非常强;
2、可以迅速地用极简单的方式达到字符串的复杂控制。
3、对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。