用到java自带的matches函数
例如:
String regex1="[0-9].*"; String a1="a87134sdjkcs";
System.err.println(a1.matches(regex1));
如果匹配返回true,否则返回false ?? ??? ?
?
?//?? ??? ?用来匹配字符串
[]表示出现一次 //?? ??? ?[abc],abc中任意的一个字符 //?? ??? ?[^abc]出来a,b,c的任意字符 //?? ??? ?[a-z]a,b,c...z中的任意一个字符 //?? ??? ?[a-zA-Z0-9],a-z,A-Z,0-9任意一个字符 // ? ? ? ?[a-z&&[^bc]] //?? ??? ?量词 . * ?+ //?? ??? ?.表示任意字符,*表示任意次,+表示一次以上 //?? ??? ?[abc]?表示a,b,c中的任意的一个数字可以出现一次 //?? ??? ?[abc]*表示a,b,c中的任意的一个数字可以出现无数次 //?? ??? ?[abc]+表示a,b,c中的任意的一个数字出现至少一次 //?? ??? ?[abc]{5}表示a,b,c中的任意的一个数字必须出现5次,如abcaa //?? ??? ?[abc]{3,5}表示a,b,c中的任意的一个数字出现3-5次 //?? ??? ?[abc]{5,}表示a,b,c中的任意的一个数字出现5次以上 //?? ??? ?[abc]{0,5}表示a,b,c中的任意的一个数字出现5次以下 //?? ??? ?圆括号分组 //?? ??? ?(abc){3} ? ?abcabcabc //?? ??? ?(abc|def){3} ? ?abcabcdef //?? ??? ?边界符 ?^ $ //?? ??? ?[abc] {3} ooooooooooabcjjjj可以 //?? ?^[abc] {3} abcjjjj可以,表示字符串以abc开头 //?? ??? ?[abc] {3}$ hhhhhhhabc可以,表示字符串以abc结尾 //?? ??? ?^[abc]{3}$表示abc //?? ??? ?^[abc]{3}.*[abc]{3}$表示abchhhhhhhabc,以abc开头,以abc结尾,中间不管 //?? ??? ?注意: 1.坑爹的java,写不写边界符都默认全匹配
? ? ? ? ? ? ? ? ? ? ? 2.把正则表达式放到java里面把\变成\\
package one;
public class 正则表达式 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String aa="sadfjkls@asdjfk.com";
// 78326478326@sdaj.cn
// \w+@\w+(\.[a-zA-Z+])+
// 用到点的时候要用\点,转义字符
// 正则表达式表示斜杠,用\\\\
// 以数字开头,[0-9].*
// 以字母开头,[a-zA-Z].*
String email="asflkds@qq.com";
String regex="\\w+@\\w+(\\.[a-zA-Z]+)+";
String regex1="[0-9].*";
String a1="a87134sdjkcs";
boolean match=email.matches(regex);//匹配的表达式
if(match) {
System.err.println("yes,true");
}else {
System.out.println("ree");
}
System.err.println(a1.matches(regex1));
}
}
|