《精通正则表达式》学习笔记(一)

[abc]是a或b或c
[a-z?._!]中只有连字符-是元字符,其他都是普通字符
但^在字符组的开头表示排除,例如[^1-6]匹配除了1到6以外的任何字符
注意:|在字符组中只是一个普通的符号
例如:[a|e]
有括号时(学术上叫多选结构)使用^和$时也要小心
例如:^from|subject|date:和^(from|subject|date):区别就很大
第二个是匹配以from或者subject或者date开头后边都有:的文本
元字符序列:例如’\<’和’>’用来匹配单词分界的位置,简单点说就是匹配单词,这两套符号也可以分开来用,例如'\<cat'和'cat\>'匹配以cat开头或结束的单词
但请注意’<’ ‘>’这两个本身并不是元字符,只有当它们与斜线结合起来的时候,整个序列才具有特殊意义。
并不是所有的egrep都支持单词分界符
单词分界符不光是按空格来区分单词的结束,连接符也是单词的结束标志,例如:
this is a telone-phone number
其中telone-phone是两个单词
单词的开始和结束准确的说是字母数字符号的开始和结束,(细节处看《精通正则表达式》电子书第43页
多选项没有像字符组那样的排除功能,多选项的连字符也只是个普通字符

‘html*’和’html *’是不一样的,前者匹配到’html’,后者匹配到’html ’

更经典的例子:

<hr size  =  14>

正则表达式要写成<hr +size*=*14>是匹配不成功的,
写成<hr +size *= *14>这样才能匹配成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值