Chinaunix

标题: 文本比对查错 [打印本页]

作者: qlm027    时间: 2014-03-19 10:56
标题: 文本比对查错
本帖最后由 rdcwayx 于 2014-03-19 12:33 编辑

各位大虾,请假个问题:
有一批文件a.txt,b.txt……

文本字段样例:
  1. cat a.txt
  2. 460030307190069|A000004572488A|[email]tet@myca.cn[/email]|223.102.20.216|80|SM9009; 4.3; JSS1J.N900|6
  3. ……
复制代码
字段说明:$1 15个数字 $2 14位字符 $3 任意位字符@任意位字符  $4 IP $5 数字  $6 String  $7 固定数字 6或者7

各个字段都正确的输出到一个文本correcta.txt,错误的输出到errora.txt并且在每行后面备注错误的字段

例如
  1. a.txt
  2. 460030307190069|A000004572488A|[email]tet@myca.cn[/email]|223.102.20.|80|SM9009; 4.3; JSS15J.N900|6
  3. 460030307190069|A000004572488A|[email]tet@myca.cn[/email]|223.102.20.216|80|SM9009; 4.3; JSS15J.N900|6
复制代码
输出
  1. correcta.txt  
  2. 460030307190069|A000004572488A|[email]tet@myca.cn[/email]|223.102.20.216|80|SM9009; 4.3; JSS15J.N900|6
复制代码
  1. errora.txt
  2. 460030307190069|A000004572488A|[email]tet@myca.cn[/email]|223.102.20.|80|SM9009; 4.3; JSS15J.N900|8 $4$7
复制代码

作者: rdcwayx    时间: 2014-03-19 12:35
这个不难啊,你自己有没有试着尝试一下呢?
作者: qlm027    时间: 2014-03-19 13:04
回复 2# rdcwayx


    尝试过了,能不能给点思路。
作者: rdcwayx    时间: 2014-03-19 13:13
本帖最后由 rdcwayx 于 2014-03-19 13:17 编辑

这几个条件里,要判断是否正确,哪个不会呢?
  1. $1 15个数字
  2. $2 14位字符
  3. $3 任意位字符@任意位字符  
  4. $4 IP
  5. $5 数字
  6. $6 String  
  7. $7 固定数字 6或者7
复制代码

作者: yestreenstars    时间: 2014-03-19 23:44
$1 15个数字 $2 14位字符 $3 任意位字符@任意位字符  $4 IP $5 数字  $6 String  $7 固定数字 6或者7
  1. $1 /^[0-9]{15}$/
  2. $2 /^.{14}$/
  3. $3 /.*@.*/
  4. $4 //
  5. $5 /^[0-9]+$/
  6. $6 /.*/
  7. $7 /^[67]$/
复制代码
LZ看看这正则是否符合你的要求?(IP的正则不好写,先看别的吧~)
作者: rdcwayx    时间: 2014-03-20 07:20
本帖最后由 rdcwayx 于 2014-03-20 07:58 编辑

@yestreenstars
有人写的现成的,你看看是否可以用来判断IP合法性。
  1. ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$
复制代码
demo

作者: yestreenstars    时间: 2014-03-20 09:27
回复 6# rdcwayx

貌似没什么漏洞,不错,收藏了,下次要用就可以直接Copy了~
   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2