数据提取

Posted 绵绵思远道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据提取相关的知识,希望对你有一定的参考价值。

介绍

小明在做数据分析的时候需要提取文件中关于数字的部分,同时还要提取用户的邮箱部分,但是有的行不是数组也不是邮箱,现在需要你在data2这个文件中帮助他用正则表达式匹配出数字部分和邮箱部分。在这里下载

wget http://labfile.oss.aliyuncs.com/courses/1/data2

  

将下载的data2保存在/home/shiyanlou/data2

目标

  1. 在文件data中匹配数字开头的行,结果写入/home/shiyanlou/num文件
  2. 在文件data中匹配出正确格式的邮箱,结果写入一个名为/home/shiyanlou/mail的文件

提示

  1. 邮箱的格式
  2. 注意符号.的处理

来源

2016年tapfun校招面试题

 答案

匹配数字开头的行

grep ‘^[[:digit:]].‘ data2>num

  

匹配正确格式的邮箱

grep ‘^[[:alnum:]]*@[[:alnum:]]*\.[[:alnum:]]*‘ data2>mail

  

总体上非常简单. 也可用 [0-9] 来代替 [[:digit:]] 
[a-zA-Z] 代替 [[:alpha:]] 
邮箱的 ‘. ’ 需要加 ‘\’ 转义.

以上是关于数据提取的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

比较有用的php代码片段

通过 Java 正则表达式提取 semver 版本字符串的片段

VS2015 代码片段整理

如何通过C#中的特定片段从句子中提取整个单词?

PHP Wordpress查询从帖子/页面中提取片段