关于正则表达式

正则表达式专门来操作字符串
正则表达式的功能:匹配、切割、替换、获取
grep 文本过滤
egrep 通过扩展正则过滤
fgrep  快速prep
awk   文本处理
sed    从输入中读取信息,经编辑后输出

grep 命令
语法
-E 使用扩展正则表达式进行匹配
-F  使用固定字符串匹配
-i 匹配时忽略大小写差异

正则表达式的组成
普通字符:普通字符串没有特殊含义
特殊字符:在正则表达中具有特殊的含义

BRE(普通正则 )    ERE(扩展正则)
.    表示任一字符
.*   表示匹配任意字符的任意长度
^   匹配紧接着的正则表达式
$   匹配前面的正则表达式
[]   匹配方括号内的任一字符
?  匹配字表达式零次或一次

china 匹配有china的行
^china 以china 开头的行
china$以china结尾的行
[Cc]:匹配China和china的行
Ch.na:匹配包含Ch两字母并且紧跟一个任意字符后又有na两个字符的行

[1234]匹配1,2,3,4中的一个
[1-9]数字中1-9中的一个

过滤IP地址
grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}$' hosts
-E : 扩展grep(grep -E 或者 egrep):
使用扩展grep的主要好处是增加了额外的正则表达式元字符集。

2).
[0-9]{1,3} 表示数字出现3次;

3).
\. dot需要转义;

4).
(){3} 表示前面小括号的内容可以出现3次;

5)
[0-9]{1,3}$表示以[0-9]{1,3}为结尾

grep "^https\{0,1\}.*\..*" url.txt
grep -E 'https?.*\..*' url.txt

你可能感兴趣的:(脚本)