正则表达式(regular expression)简明教程

摘要:

    最近,由于要学习字符串的相关知识,所以搜索了一些网络上有关正则表达式的学习笔记来学习,收获很多,在此对正则表达式的相关知识做一点小小的总结

在字符串匹配当中,有时我们并不想将两个确定的字符串进行匹配,而是使用已有的字符串和已经储存的字符串模式进行匹配,所以这就使用到了正则表达式,那么正则表达式的基本组成有:
A.单个的字符:字符串的基本组成元素
B.字符串的集合和操作符
C.选择符号
D.用来匹配子模式的括号
E.量词记号

正则表达式基本组成

1.匹配符号“.”(dot)
在正则表达式中,”.”可以代表任意一个字符,比如下面的例子
a.bbbass
即确定了匹配模式中的第二个字符可以是任何一个字符

2.字符集合
当我们在某个位置上所要匹配的字符不止一个时,即可以使用字符集合来表示,如下面的例子
[Hh]ello
则这个模式串既可以匹配hello,也可以匹配Hello
另外还有下面的几种表示方式:
[a-z]表示英文小写字母
[^a-z]除了英文小写字母,”^” 相当于取非
特殊情况:当字符集合中存在“]”时,必须将其放在“[”右边第一个的位置,否则匹配可能会发生错误

3.量词
我们使用量词表示一个字符允许出现的次数,比如
? : 这个字符可以出现或不出现
* : 这个字符可以出现一次或多次
+ : 这个字符至少出现一次
则我们根据上面的知识可以知道一种操作符的组合,
.*即为能够匹配任意字符串的模式串

4.交替
有的时候,我们在一个位置上允许完全不相关的字符串出现,则我们可以直接使用”|”符号来直接进行枚举,这则符号即表示逻辑or,如下面的这个模式字符串:
HELLO|hello

5.开始和结束符
有的时候,我们不仅需要字符串存在某种模式,我们还希望其开头和结尾按照某种模式进行编码,这个时候,我们使用” ,,dakjdaehfs

6.转义字符”\”
以上我们介绍了很多关键字符,但是,当匹配的字符串中恰恰含有他们的时候,如果不加处理,很多模式便会产生二义性.为了避免这种情况的发生,我们使用转移字符”\”来取消他们的关键意义,是模式串无论何时都有唯一的意义,同时通过转义字符,我们也能方便的得出很多字符集合,方便我们简化正则表达式

7.匹配模式子串
在以前的数学中,我们可以感觉到圆括号的重要性,比如下面的
2+5×3 =18
(2+5)×3 =21
这个时候,我们使用圆括号就变得十分有必要了,比如:
china(hello|Hello)?haha
这样就对括号中的字符串做到了很大的处理

以上就是正则表达式的基本教程,如果想要进阶的话,我们可以多在编程中应用这种技术,再看一些开发文档,才能有所进步

参考文件:

1.http://www.beedub.com/book/3rd/regexp.pdf
2.http://www.lunametrics.com/regex-book/Regular-Expressions-Google-Analytics.pdf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值