教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> 常用的基本正则表达式总结

常用的基本正则表达式总结

上传者:陆正刚
|
上传时间:2015-05-04
|
次下载

常用的基本正则表达式总结

正则表达式:java.util.regex 包中,主要体现在两个类:Matcher类和Pattern类
正则类型1、表示单个字符(每出现一个只表示一位)
x :表示只能由x组成
范例:
public static void main(String[] args) {
String num="a";
String regex="a";
System.out.println(num.matches(regex));
}
返回结果:true。如果是下面代码则返回false
public static void main(String[] args) {
String num="aa";
String regex="a";
System.out.println(num.matches(regex));
}
原因:因为正则表达式只表示一个单个字符,每出现一个只表示一位,如果要想让上面的正则表达式正确那么正则表达式应该修改“String regex="aa"”。
\\ :表示转义字符
也就是说正则表达式中的“\”需要用“\\”来表示。
\t :匹配Tab制表符键
\n :匹配换行
正则类型2、表示字符的选用范围(同样每出现一个只表示一位)
[abc] :表示出现的可能是a,b,c中的任意一个。
范例:
public static void main(String[] args) {
String str="a";
String regex="[abc]";
System.out.println(str.matches(regex));
返回结果:true。如果是下面代码则返回false
public static void main(String[] args) {
String str="ab";
String regex="[abc]";
System.out.println(str.matches(regex));
错误原因同上。
[^abc] :表示出现的不是a,b,c中的任意一个。
[a-zA-Z]:表示任意的一个字符,可能是大写可能是小写。
[0-9] :表示任意的一个数字。
正则类型3、简化表达式
. :表示出现的任何字符。
\d :表示出现的任何数字。
\D :表示出现的任何非数字。
\s :表示空白字符
\S :表示非空白字符
\w :表示单词字符为“任意的字母包括大小写,任意的数字,以及下划线”
\W :表示跟\w正好相反的非单词字符。
范例:
public static void main(String[] args) {
String str="*&^%$#@";
String regex=".+";
System.out.println(str.matches(regex));
}
正则类型4、正则量词
正则? :表示满足当前正则规范的结果只能出现0次或者1次。
范例:
public static void main(String[] args) {
String str="a";
String regex="\\d?";
System.out.println(str.matches(regex));
}
返回结果:false,原因当前正则表示表示:只能出现0次或者1次数字,如果将代码修改成
public static void main(String[] args) {
String str="0";
String regex="\\d?";
System.out .println(str.matches(regex));
} 则返回结果为:true

正则* :表示满足当前正则规范的结果可以出现0次、一次或者多次。
范例:如下代码,字符串str要么不出现任意数字,要么出现一次任意数字,要么出现多次任意数字。
public static void main(String[] args) {
String str="22222";
String regex="\\d*";
System.out.println

(str.matches(regex));}
返回结果为:true,但是如果将代码修改如下面代码展示:
public static void main(String[] args) {
String str="a";
String regex="\\d*";
System.out.println(str.matches(regex));}
则返回结果为:false
正则+ :表示满足当前正则规范可以出现1次、或者多次。
范例:如下代码,表示字符串str中要么出现一次任意数字,要么出现多次任意数字
public static void main(String[] args) {
String str="12";
String regex="\\d+";
System.out.println(str.matches(regex));}
上述代码返回结果是:true,如果将上述代码修改如下:
public static void main(String[] args) {
String str="";
String regex="\\d+";
System.out.println(str.matches(regex));}
那么返回结果应该是:false

正则{m,n} :表示满足当前正则规范的结果出现的次数大于m次且小于n次
范例:如下代码,字符串str中出现的数字次数不能小于1次并且不能大于3次
public static void main(String[] args) {
String str="1245";
String regex="\\d{1,3}";
System.out.println(str.matches(regex));
}


范例分析:
1、匹配email邮箱,限定6<用户名<12
分析:用户名 : 一般用户名可以由任意字母、数字、下划线组成,限定位数不能超过12位,不能小于6位
@ : 固定输出即可
客户端表示 : 客户端组成一般由任意的数字或者字母组成(应该是一次或者多次)
. : 固定输出即可
域名 : 规定域名格式为.com或者.cn或者.net或者http://wendang.chazidian.com或者.edu

分析完成之后开始匹配对应的正则表达式:
[a-zA-Z0-9_\\.]{6,12}@[a-zA-Z0-9-]+.(com|cn|com\\.cn|net|edu)
代码:
public static void main(String[] args) {
String str="eric.good15@http://wendang.chazidian.com";
String regex="[a-zA-Z0-9_\\.]{6,12}@[a-zA-Z0-9-]+.(com|cn|com\\.cn|net|edu)";
System.out.println(str.matches(regex));
}
返回结果:true



版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T1406126
苏科版八年级数学下册7.2《统计图的选用》
沪教版牛津小学英语(深圳用) 四年级下册 Unit 3
第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
第8课 对称剪纸_第一课时(二等奖)(沪书画版二年级上册)_T3784187
北师大版小学数学四年级下册第15课小数乘小数一
冀教版小学数学二年级下册第二单元《租船问题》
冀教版英语四年级下册第二课
《小学数学二年级下册》第二单元测试题讲解
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
苏教版二年级下册数学《认识东、南、西、北》
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册1
精品·同步课程 历史 八年级 上册 第15集 近代科学技术与思想文化
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
沪教版牛津小学英语(深圳用) 四年级下册 Unit 4
人教版历史八年级下册第一课《中华人民共和国成立》
外研版英语三起6年级下册(14版)Module3 Unit1
外研版英语七年级下册module3 unit1第二课时
沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
北师大版数学四年级下册第三单元第四节街心广场
化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
七年级英语下册 上海牛津版 Unit9
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
3月2日小学二年级数学下册(数一数)