见贤思小齐,知足常乐呵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

工作以来一直都在断断续续使用正则表达式。可惜每次用时都百度,这次终于用心总结了一下:

1. 很好用的在线正则表达式检查:

http://tool.oschina.net/regex/?optionGlobl=global#

2.  通用字符 & 字符

 

3.  匹配下面的一些 特殊字符 时,需要转义(加上 \ 即可)

* 
. 
? 
+ 
$ 
^ 
[ ] 
( ) 
{ } 
| 
\

 

3.  Shell脚本处理数据文件时,怎么把文本中每行的首尾空格去掉

cat $FILE_NAME|while read line
do
echo $line|sed 's/^\s*\|\s*$//g'>>$filename_new && echo proceeding...
done
s/^\s*\|\s*$//g 正则解释:
  •  \s 是空格  
  • ^ 是开头 $ 是结尾 * 是任意多个字符(0或n个)
  • | 是或者,需要转义
  • /g 是全局
  • 开头的s 为搜索,s/a/b/  意思为把搜索到的a替换为b

                      s/a/b/g      是把搜索到的a 全部 替换为b  : 这里是把搜索到的开头空格或结尾空格替换为空字符。

 

 去掉文本中的所有空格:

sed 's/ *//g'

删除空白行:'/^$/d'

$ cat a
abc

cde
$ cat a|sed '/^$/d'
abc
cde

 

4. Hive 中常用的正则匹配提取

regexp_extract(youstr, parttern, int)

 

posted on 2016-08-07 15:52  Suckseedeva  阅读(690)  评论(0编辑  收藏  举报