正则表达书--匹配字符

一、如何用普通字符和元字符来匹配单个字符
   . 可以匹配任何字符
   \ 用来对字符进行转义
二、匹配一组字符
   与可以匹配任意字符的单个字符 .字符不同,字符集合只能匹配特定的字符和字符区间。
  元字符^:求非
  [Na] 字符集 N或a
  [0-9] 字符区间 0-9之间的数字
  [a-z] 匹配从a-z之间的所有小写字母
  [A-Z] 匹配从A-Z之间的所有大写字母
  [A-Za-z0-9] 可以匹配任何一个字母(无论大小写)还有数字
  [^0-9] 匹配的是任何不是数字的字符
三、使用元字符去匹配特定的字符或字符类型
  [\b] 回退(并删除)一个字符
  \f  换页符
  \n  换行符
  \r  回车符
  \t  制表符
  \v  垂直制表符
四、类元字符
	• 数字元字符
	       /d	任何一个数字字符,等价于[0-9]
	       /D	任何一个非数字字符,等价于[^0-9]
	
	• 字母数字元字符
	/w	任何一个字母数字字符(大小写均可)和下划线字符,等价于[a-zA-Z0-9_]
	/W	任何一个非字母数字或下划线字符
	
	• 空白字符与非空白字符
	/s	匹配任何一个空白字符,等价于[/f/n/r/t/v]
	/S	匹配任何一个非空白字符,等价于[^/f/n/r/t/v]
六、匹配十六进制或八进制数值
   十六进制数要给出前缀\X
    \x0A对应ASCII字符10(换行符),其效果等价于\m
   八进制数要给出前缀\0
    \011对应SACII字符9(制表符),其效果等价于\t
    \cZ将匹配Ctrl-Z
七、重复匹配
	• 匹配一个或多个字符:
	想要匹配同一个字符(或字符集合)的多次重复,只要简单的给这个字符(或字符集合)加上一个+作为后缀就可以了。
	[0-9]+ 将匹配一个或多个连续的数字;
	 + 匹配一个或多个字符
	• 匹配零个或多个字符
    * 匹配零个或多个字符 
	匹配零个或一个字符:
	?只能匹配一个字符(或字符集)的零次或一次出现
	如https既可以匹配http,也可以匹配https
八、匹配重复次数:
    重复次数要用{和}字符来给出----把数值写在它们之间
	• 为重复匹配次数设定一个精确的值
	如:匹配GRB值
	用来匹配的文本:<BODY  BGCOLOR="<span style="color:#ff9900;">#336633</span>" TEXT="<span style="color:#ff9900;">#FFFFFFF</span>" MARGINWIDTH="0" TOPMARGIN="0"
	LEFTMARGIN ="0"> 
	正则表达式:#[[:xdigit:]]{6}或者#[0-9a-fA-F]{6}
	[:xdigit:] 用来匹配一个十六进制数
	• 为重复匹配次数设置一个区间
	如:匹配日期格式是否正确
	用来匹配的文本:
	<span style="color:#ff9900;">4/8/03
	10.6.2004</span>
	2/2/2
	<span style="color:#ff9900;">01.01.01</span>
	正则表达式:\d{1,2}[.\/]\d{1,2}[.\/]\d{2,4}
	• 匹配“至少重复多少次”
	给出一个最小的重复次数(但不给出最大值)
	{3,} 必须重复三次或更多次
	如 :把所有大于或等于100美元的金额找出来
	用来匹配的文本:
	<span style="color:#ff9900;">1001:$496.80
	1002:$1290.69</span>
	1003:$26.43
	<span style="color:#ff9900;">1004:$613.42</span>
	1005:$7.61
	<span style="color:#ff9900;">1006:$414.90</span>
	1007:$25.00
	正则表达式:\d+:\$\d{3,}\.\d{2}
八、位置匹配
    位置匹配用来解决在什么地方进行字符串匹配操作的问题。
	• 边界
	(1)、单词边界(单词的开头、单词的结束、整个单词):/b 用来匹配一个单词的开始或结尾
	     如果你想要匹配一个完整的单词,那么你就要在你要匹配的文本前后都加上/b限定符
	(2)、字符串边界:用来定义字符串边界的元字符有两个,一个是用来定义字符串开头的 ^,另一个是用来定义字符串结尾的$;
	如:检查xml文档 ^
	    用来匹配的文本:
	 <span style="color:#ff9900;">   <?xml version="1.0" encoding="utf-8" ?></span>
	    <msd1:definitions targetNamespace="http://tips.cf"
	    xmlns:impl="http://tips.cf" xmlns:inif="http://tips.cf"
	    xmlns:apachesoap="http://xml.apache.org/xml-soap"
	    正则表达式:^\s*<\?xml.*\?>
	(3)、分行匹配模式:用来启用分行匹配模式的(?m)记号就是一个能够改变其他元字符行为的元字符序列。如果与(?m)配合使用,^和$还将匹配在一个换行符处开头或结尾的字符串(此时,换行符被视作一个字符串分隔符)。
	如:找出代码中的全部注释内容
	   要匹配的文本:
	    <script>
	            function doSpellCheck(form,field){
	            <span style="color:#ff6600;">//make sure not empty</span>
	             if(field.value==" ")
	                       return false;
	            }
	            <span style="color:#ff9900;">//init</span>
	            ...............
	            <span style="color:#ff9900;">//Done</span>
	    </script>
	 正则表达式:(?m)^\s*//.*$
	

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值