最近学习正则表达式,正则在很多程序中用到,熟练的使用正则,会让我们的效率提高不少。

正则表达式的域名匹配如下:

^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$

如果我们想在一个杂乱无序的页面中,提取这个页面中所有的域名,如果人工查找,数量少,则一下子可以找到,如果成百上千,人工查找难上加难,有了正则,则可以一瞬间完成

cat a|sed 's/\s/\n/g'|egrep '^[^$]'|egrep -i '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$'|sort|cat>a1

cat a:显示a文档的内容,也就是我们要提取的页面

sed 's/\s/\n/g':用sed命令,将空格换成回车,让域名变成一行

egrep -i '^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$':提取域名

sort:把域名进行排序

cat>a1:把提取的域名写入一个新文档

1 对 “用正则表达式提取页面中的域名”的想法;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注