正则表达式学习日记 选择自 zhaoqiubo 的 Blog
来源:互联网 发布:java会议管理系统项目 编辑:程序博客网 时间:2024/04/30 11:13
1、“.”为通配符,表示任何一个字符,例如:“a.c”可以匹配“anc”、“abc”、“acc”;
2、“[]”,在[]内可以指定要求匹配的字符,例如:“a[nbc]c”可以匹配“anc”、“abc”、“acc”
;但不可以匹配“ancc”,a到z可以写成[a-z],0到9可以写成[0-9];
3、数量限定符号,表示匹配次数(或者叫做长度)的符号:
包括:“*”——0次或者多次
“+”——1次或者多次
“?”——0次或者1次
“{n}”——匹配n次,n为整数
“{n,m}”——匹配从n到m之间的某个数的次数;n和m都是整数;
“{n,}”——匹配n到无穷次之间任意次数;
“{,m}”——匹配0到m之间任意次数;
他们放到匹配格式的后面:
例如:
电话号码:024-84820482,02484820482(假设前面3或者4位,后面7或者8位,并且中间的减号可有可无)
都是符合规定的,那么可以用如下格式来匹配:[0-9]{3,4} /-? [0-9]{7,8};
注意:“/”为转义字符,因为“-”在正则表达式用有代表一个范围的意义,例如:前面所说的[0-9],
所以它需要转义字符“/”进行转义才可使用;
4、“^”为否符号,表示不想匹配的符号,例如:[^z][a-z]+可以匹配所有除“z”开头的以外的所有字
符串(长度大于2,因为“+”表示大于等于1的次数,从第二位开始都是小写英文字符);
如果^放到[]的外边则表示以[]开头的字符串;^[az][a-z]+表示a或者z开头的长度大于等于2的英文字符
串;
5、“|”或运算符,例如:a[n|bc|cb]c可以匹配“abcc”,“anc”,“acbc”;
6、“$”以它前面的字符结尾的;例如:ab+$就可以被“abb”,“ab”匹配;
7、一些简单表示方法:
/d表示[0-9];/D表示[^0-9];/w表示[A-Z0-9];/W表示[^A-Z0-9];/s表示[/t/n/r/f],就是空格字符包括tab
,空格等等;/S表示[^/t/n/r/f],就是非空格字符;
8、常用的匹配:
匹配中文字符: “[/u4e00-/u9fa5]”;
匹配双字节字符(包括汉字在内):“[^/x00-/xff]”;
匹配空行的正则表达式:“/n[/s| ]*/r”;
匹配HTML标记的正则表达式:“/<(.*)>.*<///1>|<(.*) //>/”;
匹配首尾空格的正则表达式:“(^/s*)|(/s*$)”;
匹配非负整数(正整数 + 0):“^/d+$”;
匹配正整数:“^[0-9]*[1-9][0-9]*$”;
匹配非正整数(负整数 + 0):“^((-/d+)|(0+))$”;
匹配负整数:“^-[0-9]*[1-9][0-9]*$”;
匹配整数:“^-?/d+$”;
匹配非负浮点数(正浮点数 + 0):“^/d+(/./d+)?$”
匹配正浮点数:“^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*
))$”;
^((-/d+(/./d+)?)|(0+(/.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配
负浮点数
匹配浮点数:“^(-?/d+)(/./d+)?$”;
匹配由数字、26个英文字母或者下划线组成的字符串:“^/w+$”;
匹配email地址:“^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$”;
匹配url:“^[a-zA-z]+://匹配(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$”
- 正则表达式学习日记 选择自 zhaoqiubo 的 Blog
- 正则表达式经典 选择自 pazll 的 Blog
- ASP中正则表达式的应用 选择自 bigcarp 的 Blog
- 【转】车东:Java正则表达式详解 选择自 moonese 的 Blog
- JAVA正则表达式4种常用功能 选择自 Ice1 的 Blog
- JAVA与正则表达式(一年级) 选择自 yqj2065 的 Blog
- 正则表达式之全部符号解释 选择自 kgdiwss 的 Blog
- 正则表达式学习日记
- 正则表达式学习日记
- 学习日记-正则表达式
- 正则表达式学习日记
- 在.NET中读写INI文件——兼谈正则表达式的应用(选择自 sam1111 的 Blog )
- 正则表达式几种常用功能——查询,提取,替换,分割 选择自 shuqianlz 的 Blog
- 学习日记 04 正则表达式
- 程序设计的多层架构学习 选择自 kennymoni 的 Blog
- 学习Shark的一些理解 (选择自 smilingleo 的 Blog)
- PE学习笔记(一) 选择自 rivershan 的 Blog
- PE学习笔记(二) 选择自 rivershan 的 Blog
- LINUX经典资源站点
- 垃圾回收
- (转贴)Runtime.exec()的陷阱
- 阅读代码工具
- 最轻省的MVC,ORM方案原来在别处--Ruby on Rails 2nd
- 正则表达式学习日记 选择自 zhaoqiubo 的 Blog
- 有效和正确定义hashCode()和equals()
- 使XML本地化和关系化
- 12个最重要的J2EE最佳实践
- IDC预测中国Linux高增长 Turbolinux领先
- (转)org.apache.commons.logging用法
- 计算机网络
- Project_FinalVersion1.0 has been done.
- c#中的格式转换