Think before you speak, read before you think.

正则表达式语法

《学习正则表达式》笔记

^从开始匹配
$匹配结束
\d匹配一个任意阿拉伯数字
\D匹配一个非数字字符,等价于[^0-9],又等价于[^\d]
. 匹配任意一个字符,不包含换行和回车
\d{3}表示出现单个数字的3次,花括号里是出现的次数
\d{3,5}表示出现单个数字最小3次,最大5次
? 出现零次或一次
+ 匹配一个或多个,包含换行和回车
* 匹配零个或多个
\w 匹配字母,数字,下划线,等价于[_a-zA-Z0-9]
\W 匹配非\w匹配的字符,等价于[^_a-zA-Z0-9],又等价于[^\w]
\s 匹配空格,等价于[ ]
\S 匹配非空格,等价于[^\s]
\t 匹配制表符,tab
\n 匹配换行符
\r 匹配回车符
\b匹配单词边界,不消耗任何字符
匹配小写字母

按键次数最少则胜

创建捕获分组(capturing group),用来匹配字符串中的一部分,使用向后引用(back reference),对捕获的分组进行引用。

$1是perl风格的后向引用

常用正则表达式

匹配域名

grep -oE '(([a-zA-Z](-?[a-zA-Z0-9])*)\.)+[a-zA-Z]{2,}'

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *