Java正则表达式验证

package com;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
* java正则表达式验证
*/
public class RegExpTest
{
/**
* 正则验证方法一
*/
public static boolean regExpTest() {
//验证标识符必须由字母、数字、下划线组成
Pattern p = Pattern.compile("[a-z0-9A-Z_]+");
Matcher m = p.matcher("aasdad");
boolean flg = m.matches();
System.out.println(flg);
return flg;
}
/**
* 正则验证方法二
*/
public static boolean regExpTest2(String str) {
//匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线
//String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]+([a-z0-9-A-Z])";
//匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线,且中间的字符至少1个不能超过5个
String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]{1,5}([a-z0-9-A-Z])";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
/**
* 去掉前后空格
*/
public static String regExpTest3(String str) {
//去掉前后空格方法一
//String regex = "^\\[(.*)\\]$";
//String s1 = str.replaceAll(regex, "$1");
//方法二,注:replace方法无正则匹配
String regex = "^\\[|\\]$";
String s1 = str.replaceAll(regex, "");

System.out.println(s1);
return s1;
}
/**
* 验证邮箱格式"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"//email地址
*/
public static boolean regExpTest4(String str) {
String regex = "^[\\w-]+(\\.[\\w-]+)*\\@([\\.\\w-]+)+$";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
/**
* 验证电话号码
*/
public static boolean regExpTest5(String str){
// "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
//String regex = "\\d{3}-\\d{4}-\\d{7,8}-\\d{3}";
String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
public static void regExpTest6(String str){
String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
int count = m.groupCount();
System.out.println(count);
m.find();//尝试查找与该模式匹配的输入序列的下一个子序列。
for(int i=1;i<=count;i++) {
System.out.println(m.group(i));
}
}

public static void main(String[] args)
{
//从键盘读取文件
/* Scanner sn = new Scanner(System.in);
RegExpTest.regExpTest();
RegExpTest.regExpTest2("asdasaa");
RegExpTest.regExpTest3("[aa,bb,cc]");
RegExpTest.regExpTest4("-lgt.q983@hotmail.com.net");
//RegExpTest.regExpTest5(sn.nextLine());
*/
RegExpTest.regExpTest6("029-0913-3237259-020");

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值