登录  /  注册

正则表达式字符簇(二)

巴扎黑
发布: 2017-04-20 18:04:36
原创
1239人浏览过

确定重复出现

   到现在为止,你已经知道如何去匹配一个字母或数字,但更多的情况下,可能要匹配一个单词或一组数字。一个单词有若干个字母组成,一组数字有若干个单数组成。跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数。

字符簇 含义 

^[a-zA-Z_]$ 所有的字母和下划线 

^[[:alpha:]]{3}$ 所有的3个字母的单词 

^a$ 字母a 

^a{4}$ aaaa 

^a{2,4}$ aa,aaa或aaaa 

^a{1,3}$ a,aa或aaa 

^a{2,}$ 包含多于两个a的字符串 

^a{2,} 如:aardvark和aaab,但apple不行 

a{2,} 如:baad和aaa,但Nantucket不行 

\t{2} 两个制表符 

.{2} 所有的两个字符

   这些例子描述了花括号的三种不同的用法。一个数字,{x}的意思是“前面的字符或字符簇只出现x次”;一个数字加逗号,{x,}的意思是“前面的内容出现 x或更多的次数”;两个用逗号分隔的数字,{x,y}表示“前面的内容至少出现x次,但不超过y次”。我们可以把模式扩展到更多的单词或数字:

^[a-zA-Z0-9_]{1,}$ //所有包含一个以上的字母、数字或下划线的字符串 

^[0-9]{1,}$ //所有的正数 

^\-{0,1}[0-9]{1,}$ //所有的整数 

^\-{0,1}[0-9]{0,}\.{0,1}[0-9]{0,}$ //所有的小数

   最后一个例子不太好理解,是吗?这么看吧:与所有以一个可选的负号(\-{0,1})开头(^)、跟着0个或更多的数字([0-9]{0,})、和一个可 选的小数点(\.{0,1})再跟上0个或多个数字([0-9]{0,}),并且没有其他任何东西($)。下面你将知道能够使用的更为简单的方法。

   特殊字符”?”与{0,1}是相等的,它们都代表着:“0个或1个前面的内容”或“前面的内容是可选的”。所以刚才的例子可以简化为:

   ^\-?[0-9]{0,}\.?[0-9]{0,}$

   特殊字符”*”与{0,}是相等的,它们都代表着“0个或多个前面的内容”。最后,字符”+”与 {1,}是相等的,表示“1个或多个前面的内容”,所以上面的4个例子可以写成:

^[a-zA-Z0-9_]+$ //所有包含一个以上的字母、数字或下划线的字符串 

^[0-9]+$ //所有的正数 

^\-?[0-9]+$ //所有的整数 

^\-?[0-9]*\.?[0-9]*$ //所有的小数

   当然这并不能从技术上降低正规表达式的复杂性,但可以使它们更容易阅读。

以上就是正则表达式字符簇(二)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号