正则表达式整理
2014-06-06 08:12
274 查看
常见正则表达式验证
^(-){0,1}\d+$ 整数
^\d+$ 正整数
^-\d+$ 负整数
[a-zA-Z0-9] 数字和字符 不包含标点
[\u4e00-\u9fa5] 中文
(http://|https://){0,1}[\w\/\.\?\&\=]+ 网址
^[0-9]+([.][0-9]+)?$ 浮点数
^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ 邮箱地址
[1-9][0-9]{14}([0-9]{2}[0-9xX])? 简单判断15位或18位身份证
[1-9][0-9]{4,9} 判断qq号码 5-10位
匹配两个字符 前面不为数字 后面为字母
[^0-9][a-zA-Z]
我a我2的a%$电b脑131zZ
\d 等价于 [0-9]
\w 等价于[0-9a-zA-Z]
\s 等价于[]
量词
\d{6} 表示匹配6个连续的数字 {n}表示之前元素\d必须出现n次
\d{4,7} 表示匹配4个连续数字到7个连续数字 {m,n}表示之前元素\d最少出现m次,最多出现n次
\d{4,} 表示匹配等于或大于4个连续数字 {m,}表示之前的元素\d最少出现m次,最多无上限
\d{0,4} 表示匹配少于或等于4个连续数字
* 等价于 {0,} 之前元素可能出现,也可能不出现,出现次数无上限
+ 等价于 {1,} 之前元素至少出现一次,出现次数无上限
? 等价于 {0,1} 之前元素可能不出现,最多出现一次
量词
\d{6} 表示匹配6个连续的数字 {n}表示之前元素\d必须出现n次
\d{4,7} 表示匹配4个连续数字到7个连续数字 {m,n}表示之前元素\d最少出现m次,最多出现n次
\d{4,} 表示匹配等于或大于4个连续数字 {m,}表示之前的元素\d最少出现m次,最多无上限
\d{0,4} 表示匹配少于或等于4个连续数字
* 等价于 {0,} 之前元素可能出现,也可能不出现,出现次数无上限
+ 等价于 {1,} 之前元素至少出现一次,出现次数无上限
? 等价于 {0,1} 之前元素可能不出现,最多出现一次
<[^>]+> 表示匹配"<"开始和">"结束 中间不包含">"的至少一个字符的字符串
https? 表示s可以不出现也可以出现 但最多出现一次 结果是http https都能匹配到 httpss匹配不到
https* 表示s可以不出现也可以出现 出现次数无上限 结果是http https httpss httpss...s均可以匹配
多选结构"|"
([1-9]\d{14}|[1-9]\d{14}\d{2}[0-9X]) 可粗略同时匹配15位和18位身份证
表示匹配15位和18位身份证,如果15位 全部由数字组成,首位不能为0
如果18位 前17位全部为数字 末位可能为数字也可能为X 首位不能为0
基本的语法字符
/d 0-9的数字
/D /d的补集(以所以字符为全集,下同),即所有非数字的字符
/w 单词字符,指大小写字母、0-9的数字、下划线
/W /w的补集
/s 空白字符,包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f
/S /s的补集
. 除换行符/n外的任意字符
[…] 匹配[]内所列出的所有字符
[^…] 匹配非[]内所列出的字符
定位字符
“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
^ 表示其后的字符必须位于字符串的开始处
$ 表示其前面的字符必须位于字符串的结束处
/b 匹配一个单词的边界
/B 匹配一个非单词的边界
另外,还包括:/A 前面的字符必须位于字符处的开始处,/z 前面的字符必须位于字符串的结束处,/Z 前面的字符必须位于字符串的结束处,或者位于换行符前
重复描述字符
“重复描述字符”是体现正则表达式“很好很强大”的地方之一:
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多于n次
{n,m} 匹配前面的字符n到m次
? 匹配前面的字符0或1次
+ 匹配前面的字符1次或多于1次
* 匹配前面的字符0次或式于0次
车次必须以TKDGLZAY或者是数字1-7开头,接着是1-4位数字
一:^(T|K|D|G|C|L|Z|A|Y|[1-7]){1}\d{1,4}$
二:^([TKDGCLZAY]|[1-7]){1}\d{1,4}$
//判断输入的内容是不是为数:
var reg=/^[1-9]\d*(\.[0-9]+)?$|^0$/i
//特别提醒:js的正则表达式,如果我们使用test来验证,则正则表达式不要带 /g
//定义一个判断电话信息是否都为数字的方法
public boolean isNum(String tel){
boolean t=true;
for(int i=0;i<tel.length();i++){
char c=tel.charAt(i);
if(!Character.isDigit(c)){
t=false;
break;
}
}
return t;
}
//定义一个判断Email信息是否符合格式的方法
public boolean isEmail(String email){
if(email.indexOf("@")==-1){
return false;
}
else if(email.indexOf(".",email.indexOf("@"))==-1){
return false;
}
else{
return true;
}
}
------------------------待续-----------------------------------------
^(-){0,1}\d+$ 整数
^\d+$ 正整数
^-\d+$ 负整数
[a-zA-Z0-9] 数字和字符 不包含标点
[\u4e00-\u9fa5] 中文
(http://|https://){0,1}[\w\/\.\?\&\=]+ 网址
^[0-9]+([.][0-9]+)?$ 浮点数
^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ 邮箱地址
[1-9][0-9]{14}([0-9]{2}[0-9xX])? 简单判断15位或18位身份证
[1-9][0-9]{4,9} 判断qq号码 5-10位
匹配两个字符 前面不为数字 后面为字母
[^0-9][a-zA-Z]
我a我2的a%$电b脑131zZ
\d 等价于 [0-9]
\w 等价于[0-9a-zA-Z]
\s 等价于[]
量词
\d{6} 表示匹配6个连续的数字 {n}表示之前元素\d必须出现n次
\d{4,7} 表示匹配4个连续数字到7个连续数字 {m,n}表示之前元素\d最少出现m次,最多出现n次
\d{4,} 表示匹配等于或大于4个连续数字 {m,}表示之前的元素\d最少出现m次,最多无上限
\d{0,4} 表示匹配少于或等于4个连续数字
* 等价于 {0,} 之前元素可能出现,也可能不出现,出现次数无上限
+ 等价于 {1,} 之前元素至少出现一次,出现次数无上限
? 等价于 {0,1} 之前元素可能不出现,最多出现一次
量词
\d{6} 表示匹配6个连续的数字 {n}表示之前元素\d必须出现n次
\d{4,7} 表示匹配4个连续数字到7个连续数字 {m,n}表示之前元素\d最少出现m次,最多出现n次
\d{4,} 表示匹配等于或大于4个连续数字 {m,}表示之前的元素\d最少出现m次,最多无上限
\d{0,4} 表示匹配少于或等于4个连续数字
* 等价于 {0,} 之前元素可能出现,也可能不出现,出现次数无上限
+ 等价于 {1,} 之前元素至少出现一次,出现次数无上限
? 等价于 {0,1} 之前元素可能不出现,最多出现一次
<[^>]+> 表示匹配"<"开始和">"结束 中间不包含">"的至少一个字符的字符串
https? 表示s可以不出现也可以出现 但最多出现一次 结果是http https都能匹配到 httpss匹配不到
https* 表示s可以不出现也可以出现 出现次数无上限 结果是http https httpss httpss...s均可以匹配
多选结构"|"
([1-9]\d{14}|[1-9]\d{14}\d{2}[0-9X]) 可粗略同时匹配15位和18位身份证
表示匹配15位和18位身份证,如果15位 全部由数字组成,首位不能为0
如果18位 前17位全部为数字 末位可能为数字也可能为X 首位不能为0
基本的语法字符
/d 0-9的数字
/D /d的补集(以所以字符为全集,下同),即所有非数字的字符
/w 单词字符,指大小写字母、0-9的数字、下划线
/W /w的补集
/s 空白字符,包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f
/S /s的补集
. 除换行符/n外的任意字符
[…] 匹配[]内所列出的所有字符
[^…] 匹配非[]内所列出的字符
定位字符
“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。
^ 表示其后的字符必须位于字符串的开始处
$ 表示其前面的字符必须位于字符串的结束处
/b 匹配一个单词的边界
/B 匹配一个非单词的边界
另外,还包括:/A 前面的字符必须位于字符处的开始处,/z 前面的字符必须位于字符串的结束处,/Z 前面的字符必须位于字符串的结束处,或者位于换行符前
重复描述字符
“重复描述字符”是体现正则表达式“很好很强大”的地方之一:
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多于n次
{n,m} 匹配前面的字符n到m次
? 匹配前面的字符0或1次
+ 匹配前面的字符1次或多于1次
* 匹配前面的字符0次或式于0次
车次必须以TKDGLZAY或者是数字1-7开头,接着是1-4位数字
一:^(T|K|D|G|C|L|Z|A|Y|[1-7]){1}\d{1,4}$
二:^([TKDGCLZAY]|[1-7]){1}\d{1,4}$
//判断输入的内容是不是为数:
var reg=/^[1-9]\d*(\.[0-9]+)?$|^0$/i
//特别提醒:js的正则表达式,如果我们使用test来验证,则正则表达式不要带 /g
//定义一个判断电话信息是否都为数字的方法
public boolean isNum(String tel){
boolean t=true;
for(int i=0;i<tel.length();i++){
char c=tel.charAt(i);
if(!Character.isDigit(c)){
t=false;
break;
}
}
return t;
}
//定义一个判断Email信息是否符合格式的方法
public boolean isEmail(String email){
if(email.indexOf("@")==-1){
return false;
}
else if(email.indexOf(".",email.indexOf("@"))==-1){
return false;
}
else{
return true;
}
}
------------------------待续-----------------------------------------
相关文章推荐
- 常用正则表达式整理[JavaScript]
- 批处理 正则表达式(findstr) 整理
- 验证数字的正则表达式集 整理
- [转]C#正则表达式整理备忘
- 近期.NET学习及项目开发整理-正则表达式
- java基础整理二十五(正则表达式)
- C#正则表达式整理备忘
- 正则表达式常用字符整理
- C#正则表达式整理备忘(四)
- asp.net 验证正则表达式 精心整理
- PHP整理笔记八正则表达式
- 常用正则表达式(整理)
- .NET进阶系列之一:C#正则表达式整理备忘
- C#正则表达式整理以备后用
- 常用正则表达式 整理篇
- PHP下常用正则表达式整理
- URL网址正则表达式-整理
- 最常用的PHP正则表达式收集整理
- 正则表达式(慢慢整理)
- C#正则表达式整理备忘【转】