# 学习正则表达式
> 摘自《学习正则表达式》 kindle版
1. 正则表达式最早出现于美国数学家斯蒂芬·克莱尼编写的Introduction to Metamathematics一书中(1952年Van Nostrand公司出版)。
2. `egrep`使用了扩展的正则表达式(ERE)并引入了更多的元字符,比如|、+、?、(、)。`fgrep`(grep-F)使用字符串字面值来查找文件;像$、*、|这样的元字符则没有特殊含义。
3. `grep -o 'PATTERN' | wc -l` 和`grep -c 'PATTERN'`的不同在于, `-o`选项表示只显示一行中与指定模式匹配的部分,每次出现都会作为单独的一行。 `-c`给出的是匹配的行的数目,但是一行中可能有多个单词匹配。
4. `(? )` 由于不存储内容,非捕获分组就会带来较高的性能
5. 另一种非捕获分组是原子分组(atomic group)。如果你使用的正则表达式引擎进行回溯操作,这种分组就可以将回溯操作关闭,但它只针对原子分组内的部分,而不针对整个正则表达式。
6. POSIX(Portable Operating System Interface,可移植操作系统接口)是IEEE维护的一系列标准。其中包含了一个正则表达式标准(ISO/IEC/IEEE 9945:2009),该标准提供了一套命名的字符组,其形式为:`[[:xxxx:]`
7. 环视是一种非捕获分组,它根据某个模式之前或之后的内容匹配其他模式。环视也称为零宽度断言。
8. ack也可以使用环视功能,这是因为它是由Perl语言编写的。ack的命令行界面与grep十分相似。 试一下这个命令: `ack '(?i)ancyent (?=ma)' rime.txt`
9. BRE要求对字符转义后才可作为元字符使用,例如括号({和})。ERE,在基本正则表达式BRE的基础上添加了额外的功能。
10. 果蝠的视力是所有蝙蝠中最好的。许多蝙蝠依靠回声避开障碍物,果蝠凭借视力以及出色的嗅觉来定位食物和进行导航[^1]。
[^1]: wikipedia:翼手目可以分为两个亚目:大蝙蝠亚目和小蝙蝠亚目,又被称为食果蝠和食虫蝠。大蝙蝠亚目的蝙蝠视力好,眼睛大,主要依靠视觉来辨别物体;小蝙蝠亚目的成员通常视力退化,眼睛小,主要依靠回声来辨别物体。
笔记
《学习正则表达式》热门书评
-
一本简单的正则表达式使用介绍书籍
3有用 0无用 银光 2013-07-31
这本书的定位是想了解正则表达式的新人。内容也确实简单,就是一些概念的罗列,两三种不同环境下的实现,书很薄,空白区域不少,一般可以花几个小时慢慢看完。如果这书籍能作为博客文章发表就好了。 了解必要的基础以便知...
-
了解RegExp的入门书籍
0有用 0无用 jeff 2014-04-26
这本书只有152页,而且正文的比例还不到一半!尽管如此,它还是较为系统介绍了RegExp知识体系,而且用精炼的语言准确阐述了RegExp知识体系中的术语如captured group, look around等,我认为这本书在传达RegExp的知识方面还是比较称职的。RegExp毕竟是每一个程序员需...
-
不值得买的一本水书
0有用 0无用 wgwang 2014-10-11
关于书的内容,一个字:水。不知道douban上为啥对此书的评价这么高?莫非都是对正则毫无概念的读者?这本书比好多博客的内容写的还不如,不过对于入门的来说,看看也无坏处就是。对于有点编程经验的程序员来说,建议入门还是直接看对应语言的库的介绍,然后着手练习即可。比如,对于python,可以看 https...
-
笔记
0有用 0无用 cobie 2014-10-24
# 学习正则表达式> 摘自《学习正则表达式》 kindle版1. 正则表达式最早出现于美国数学家斯蒂芬·克莱尼编写的Introduction to Metamathematics一书中(1952年Van Nostrand公司出版)。2. `egrep`使用了扩展的正则表达式(ERE)并引入了更...
-
适合没接触过正则的同学入门学习
0有用 0无用 青悠子 2015-05-14
如果你有一定的正则经验,就不要看这本书了。这本书属于入门教学级,如果想深入学习正在就看 那本权威指南-------------------------------------------------------------------------...