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

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

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

更经典的例子:


= 14>

正则表达式要写成


是匹配不成功的,
写成
这样才能匹配成功

你可能感兴趣的:(《精通正则表达式》学习笔记(一))