首页 > 代码库 > 如何使用正则表达式

如何使用正则表达式

  动态系统/静态系统在入库时要更具图片文件名解析姓名,省份证号,备注等字段。现有入库脚本采用正则表达式的方法,方便快捷的解决该问题,

  

  1. 正则表达式

    正则表达式的语法,请参考网络。

    http://www.runoob.com/regexp/regexp-tutorial.html

文件名

正则表达式

解析结果

1__142432432432X_张三(在逃犯)__.jpg

([0-9Xx]+)_(.+)\((.+)\)

身份证号:142432432432X

姓名:张三

备注:在逃犯

      

  • ([0-9Xx]+) 匹配身份证号。[0-9Xx] 匹配数字和Xx字符串,+匹配一个或者多个。
  • (.+) 匹配姓名, . 匹配一个,+匹配一个或者多个。
  • ((.+)\) 匹配备注,\( \) 转义圆括号,.匹配一个,+匹配一个或者多个。

 

[zhangyuqing@server-123-57-87-170 ~]$ ls
1__142432432432X_张三(在逃犯)__.jpg            3.py  rsync.txt  测试                  抓拍
2__143242342432432432X_李四(全国在逃犯)__.jpg  4.py  dd  Python  
[zhangyuqing@server-123-57-87-170 ~]$ ls|grep -E "(_+)([0-9Xx]+)_(.+)\((.+)\)"
1__142432432432X_张三(在逃犯)__.jpg
2__143242342432432432X_李四(全国在逃犯)__.jpg
[zhangyuqing@server-123-57-87-170 ~]$ ls|grep -E "([0-9Xx]+)_(.+)\((.+)\)"
1__142432432432X_张三(在逃犯)__.jpg
2__143242342432432432X_李四(全国在逃犯)__.jpg

  

 

如何使用正则表达式