正则表达式分为两种:
基本正则表达式(BRE,basic regular expression)
扩展正则表达式(ERE,extended regular expression)
基本正则表达式
我们在写用户注册表单时,只允许用户名包含字符、数字、下划线和连接字符(-),并设置用户名的长度,我们就可以使用以下正则表达式来设定
+ 号代表前面的字符必须至少出现一次(1次或多次)。
* 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。
? 问号代表前面的字符最多只可以出现一次
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。
{ }限定符
$输入字符串结尾位置
^匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 \^。
[]字符簇
!取反
| 两项之间的选择
*+?一组^$一组
扩展正则表达式
Linux中的正则表达式,最常应用正则表达式的命令是grep(egrep),sed,awk
|grep 全面搜索正则表达式并把行打印出来,打印行
sed行编辑器
| awk 生成报告 ,awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
正则表达式适用于从文本信息中提取你想要的信息并打印出来
|grep "String"匹配String
|awk '{print $2}' 输出第2列