开始使用正则表达式

前端之家收集整理的这篇文章主要介绍了开始使用正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一些细节的完善

在上篇文章中,我们简单使用了一个正则完成了一些东西,但是也发现了一些问题.那个在线工具并不怎么好用…
经常遇到输入之后,没有匹配.
这也是 web 程序经常遇到的尴尬.所以,我们使用本地应用来进行处理.
笔者的是 mac10.10,使用的工具叫做 @H_502_7@RegExRx .大家可以选择一款合适的使用.( windows 下的正则程序更加多,功能也很强大)

开始正则之旅

明确了正则的用途之后,我们开始使用正则表达式.还是从一些实际案例出发,我很讨厌一开始就摆上 N 多得概念,列举出 N 多得符号,根本不让人好好阅读嘛!

符号的延伸

上次我们使用了匹配数字的符号 @H_502_7@\d,这个是表示数字的意思,但是它只能表示一位数字,于是,我又使用了@H_502_7@{m,n}这个符号.
@H_502_7@\d还有一种表示方法就是 @H_502_7@[0-9],@H_502_7@[]是字符串列举的意思.
比如 @H_502_7@[abc]表示匹配 @H_502_7@a或者@H_502_7@b或者@H_502_7@c,和@H_502_7@\d一样,它只能匹配一个.
常用模式的列举:
@H_502_7@[0-9] :表示数字 等价于 @H_502_7@\d

@H_502_7@[a-z] :表示小写字母

@H_502_7@[A-Z] :表示大写字母

在列举的前面加上 @H_502_7@^即可表示 @H_502_7@非,比如
@H_502_7@[^0-9] :表示非数字

简写的的形式比如 @H_502_7@\d,如果要取反,则小写改大写(熟悉 Vim 的人一定亲切),如:
@H_502_7@\D:表示非数字

@H_502_7@\w 表示单词字符,在英语环境下,等价于 @H_502_7@[_a-zA-Z0-9],就是常说的:字母数字下划线
同理,把它大写,就是取反
@H_502_7@\W 表示非单词字符,除掉字母数字下划线的内容

匹配空白字符

@H_502_7@\s:表示空白字符( space),它和 @H_502_7@[ \t\n\r]等价(分别是 空格 制表符 换行符 回车符)
注:有些匹配工具不会高亮换行符号和回车符号
那么很自然的想到
@H_502_7@\S 匹配非空白字符,和@H_502_7@[ \t\n\r]等价,当然,也可以 @H_502_7@[^\s]

匹配任何字符

使用 @H_502_7@.可以匹配任何字符,一个点只能匹配一个

使用量词

在最开始的时候,我们已经使用了量词的符号 @H_502_7@{},用法也已经解释过了.比如:

@H_502_7@.{8} 匹配8个任意字符
但是在实际应用中,我们有三个特殊的量词是大量使用的:
@H_502_7@? :表示出现0次或者1次

@H_502_7@* :表示出现0次或者多次

@H_502_7@+ :表示出现1次或者多次

结语

这次是一个比较枯燥的符号认知的过程.好在,常用的符号我们已经学习完毕,从下篇开始,我们做大量的练习,并学习更高级的知识

猜你在找的正则表达式相关文章