最近业余时间在写的小说抓取程序需要进行内容解析,比如解析小说的章节信息、提取小说的正文内容、移除页面的水印,这个过程中要用到正则表达式。虽然用Google找到可以使用的正则表达式,但想要更加深入的学习一下,于是上周末找来网上推荐的《正则表达式30分钟入门教程》,以下是我的学习笔记。


正则表达式是什么?

正则表达式是描述一串文本特征的工具。

什么是文本的特征?

比如,中国电话号码的特征为:以0开头的3或4位数字(区号),然后是连字符(-),最后是7或8为数字(本地号码)。3位区号8位本地号码 或者 4位区号7位本地号码 组成的电话号码的正则表达式为 0\d{2}-\d{8}|0\d{3}-\d{7},使用该正则表达式你就可以查找一个文件中所有符合规则的电话号码了。

元字符(metacharacter)

元字符是正则表达式规定的具有特殊含义的字符。比如:\s 表示任意的空白符(包括空格、制表符Tab、换行符、中文全角空格等);\d 表示0-9之间的一位数字。

字符转义

字符转义就是让元字符表示它们自身,如:\s 就代表 \s,而不是空白符;. 就代表点(.),而不是除换行符以外的任意字符。使用反斜线(\)进行转义,代表字符 \s 的正则表达式为 \\s;代表点的正则表达式为 \.

未完待续…