import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LReg {
/**
* @param args
*/
public static void main(String[] args) {
//注意
//System.out.println("1a5".replaceAll("1.5","1.0"));
String mailAddress = " 2d23dn";
System.out.println(mailAddress);
System.out.println(isValidEmail(mailAddress));
}
public static boolean isValidEmail(String mailAddress) {
boolean isValid = false;
/*
* 把空白符号去掉了
*/
if (null == mailAddress) {
return isValid;
} else {
mailAddress = mailAddress.trim();
}
/*Pattern p = Pattern.compile("\\d{1,2}(\\.\\d0*)?");
Pattern p = Pattern.compile("[\\w\\.]+@(\\w+.)+[a-z]{2,3}");
Pattern p = Pattern.compile("\\d{6}");
*/
/*Pattern p = Pattern.compile("t[\\.]n");
System.out.println("t[\\.]n");*/
/*
* match "."
* "." 是特殊字符在 reg 中,不是特殊字符在java
* =>in reg for "." ,it shoud be \. So: "\."
* => "\" is 特殊字符 in Java ,So: "\\" = \ in Java
* => "\\."
*/
/*Pattern p3 = Pattern.compile("\\."); */
/*
* match "\\\\"
* "\" 是特殊字符在 reg 中,也是特殊字符在java
* =>in reg for "." ,it shoud be \\ So: "\\" (reg 中已经决定了)
* => "\" is 特殊字符 in Java ,So: "\\" = \ in Java (根据reg中决定的,看java)
* double avove
* so "\\\\" in java == "\\" in reg == "\" 需要匹配 in reg
*/
/*Pattern p2 = Pattern.compile("\\\\");
System.out.println("\\\\");*/
mailAddress="?";
String regx = "";
//错误 \w是 已经有了\d
regx = "^(\\w)(\\w|\\d){0,5}";
//字母打头,必须有5个字符
//[A-Za-z]这个只是匹配了一个字符
regx = "^[A-Za-z]\\w{5,}";
//用括号分清楚 mail测试
/*^[A-Za-z] 字母开头
* (\\w){1,} 一个以上的\w
* @ 有一个@
* ([a-zA-Z0-9]){2,} 两个以上,不用\\w,因为\w包含下划线
* (\\.) 匹配一个点号!! .是特殊字符
* ([a-zA-Z]){3,} 三个以上
*/
regx = "^[A-Za-z](\\w){1,}@([a-zA-Z0-9]){2,}(\\.)([a-zA-Z]){3,}";
/*
* "." 匹配任意一个字符,是一个! 点号是特殊字符!
* "[.]" 只匹配. 在[]里面点好不是特殊字符!!
* 同样的 [-]中的- 是特殊符号,但是如果- 出现在[]第一个位置,它不是特殊符号
* "^" 在[^]表示非; 普通的"^" 是匹配开头的意思
*/
regx = ".";
regx = "[.]";
/*
* mailAddress="c^";这个可以匹配!
* \\w表示的仅仅是一个字符,一个一个
*/
regx = "\\w\\^";
/*
* 可以匹配空白 mailAddress=""
* ? 0 or 1
* + 1 or 无穷
* * 0 or 无穷
* 可以用{}来区别
*/
regx = "(.){0,}";
regx = "\\?";
System.out.println("input string:"+mailAddress);
System.out.println("regx:"+regx);
Pattern p = Pattern.compile(regx,Pattern.DOTALL);
if (mailAddress != null) {
Matcher m = p.matcher(mailAddress);
if (m.matches()) {
isValid = true;
}
}
return isValid;
}
}
分享到:
相关推荐
很小很强大的嵌入式Linux下的FTP服务端软件,支持开源,与大家分享该软件。
stupid-ftpd 源码 arm平台 编译好的可执行程序 配置文件
笨办法学python中的全部代码,可以运行!搭建环境后,可以运行!
基于海思hi3531D的嵌入式ftp服务器的搭建,使用stupid-ftpd的工具,具有配置项简单,比vsftpd控制简单、直观,windows是使用FileZilla进行文件的上传和下载。
stupid
WhatA Stupid Name
您的数据将写入位于{Project_Root}/node_modules/stupid-db/database/stupid_db.js的文件中。 好处是它不需要任何安装(不像redis、mongodb、mysql等)。 在企业文化中效果很好,您必须获得安装批准。 装置 安装就...
The simple, stupid rules engine for Java.zip
软件名称:Stupid IM(Stupid Instant Messenger) 软件作者:luinse 联系方式: E-mail:luinse@21cn.com QQ:18730643 软件说明:该软件为点对点传送的聊天软件,实现聊天软件的基本功能,可用于局域网聊天以及...
android-Stupid-Adapter 一个比较蠢的adapter,一切只是为了少写两行代码, 支持listview,gridView, recyclerview, 的adapter, 开发者只需要关注 item View 和 数据的关系,业务逻辑.剩下的一切交给我 将viewholder,与 ...
这是ARM LINUX 移植好的FTP工具,在i.MX6上运行无问题.
const StupidPlayer = require ( 'stupid-player' ) ; const player = new StupidPlayer ( ) ; player . on ( player . EVENT_PLAY , callback ) ; player . on ( player . EVENT_STOP , callback ) ; player . on ...
Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux ...
Bubble_vs._stupid 冒泡排序和愚蠢排序的比较。 比较这些算法的排序时间。 每一个对包含 100 个随机元素的列表进行排序。 这是关于冒泡排序: : 这是关于愚蠢的(也称为 bogo): :
android-Stupid-Adapter?1,BaseAdapter、RecyclerView和一、适配器.zip
stupid_python_tricks 一堆简短的脚本,说明了python的一些工作原理 夸格斯的东西 这是我试图弄清楚其工作原理的结果。 kwargs_example.py 这旨在模拟为两种抗蚊措施创建字典:仅用于杀灭措施(可能是喷药,可能是...
Stupid PacKaGe tool,也称“SB打包工具”,一个可将文件夹打包成自解压工具的脚本
球谐函数原理解析 球谐光照。
alpha_is_stupid