完整的一些细节
在上一篇文章中,我们只是使用普通的东西成品,但是,我们也发现了一些问题.这不是多么有用的在线工具…
经常遇到的输入之后,没有比赛.
是 web 程序经常遇到的尴尬.所以,我们使用本地应用来进行处理.
笔者的是 mac10.10 ,使用的工具叫做 RegExRx
.大家能够选择一款合适的使用.( windows 下的正则程序更加多,功能也非常强大)
開始正则之旅
明白了正则的用途之后,我们開始使用正則表達式.还是从一些实际案例出发,我非常讨厌一開始就摆上 N 多得概念, 列举出 N 多得符号,根本不让人好好阅读嘛!
符号的延伸
上次我们使用了匹配数字的符号 d
,这个是表示数字的意思,可是它仅仅能表示一位数字,于是,我又使用了{m,n}
这个符号.
d
另一种表示方法就是 [0-9]
,[]
是字符串列举的意思.
比方 [abc]
表示匹配 a
或者b
或者c
,和d
一样,它仅仅能匹配一个.
经常使用模式的列举:
[0-9]
:表示数字 等价于 d
[a-z]
:表示小写字母
[A-Z]
:表示大写字母
在列举的前面加上 ^
就可以表示 非
,比方
[^0-9]
:表示非数字
简写的的形式比方 d
,假设要取反,则小写改大写(熟悉 Vim 的人一定亲切),如:
D
:表示非数字
w
表示单词字符,在英语环境下,等价于 [_a-zA-Z0-9]
,就是常说的:字母数字下划线
同理,把它大写,就是取反
W
表示非单词字符,除掉字母数字下划线的内容
匹配空白字符
s
:表示空白字符( space),它和 [
]
等价(各自是 空格 制表符 换行符 回车符)
注:有些匹配工具不会高亮换行符号和回车符号
那么非常自然的想到
S
匹配非空白字符,和[
]
等价,当然,也能够 [^s]
匹配不论什么字符
使用 .
能够匹配不论什么字符,一个点仅仅能匹配一个
使用量词
在最開始的时候,我们已经使用了量词的符号 {}
,使用方法也已经解释过了.比方:
.{8}
匹配8个随意字符
可是在实际应用中,我们有三个特殊的量词是大量使用的:
?
:表示出现0次或者1次
*
:表示出现0次或者多次
+
:表示出现1次或者多次
结语
这次是一个比較枯燥的符号认知的过程.好在,经常使用的符号我们已经学习完毕,从下篇開始,我们做大量的练习,并学习更高级的知识
版权声明:本文博客原创文章,博客,未经同意,不得转载。