常用正则规则

Go语言标准库内建提供了regexp包

  • . 匹配除换行符以外的任意字符
  • \w 匹配字母或数字或下划线或汉字
  • \s 匹配任意的空白符
  • \d 匹配数字
  • \b 匹配单词的开始或结束
  • ^ 匹配字符串的开始
  • $ 匹配字符串的结束
  • 重复零次或更多次
  • 重复一次或更多次
  • ? 重复零次或一次
  • {n} 重复n次
  • {n,} 重复n次或更多次
  • {n,m} 重复n到m次
  • 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里
  • (?exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name’exp)
  • (?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号

定义正则表达式

var (
    //邮箱
    reQQEmail = `(\d+)@qq.com`
    reEmail   = `\w+@\w+\.\w+(\.\w+)?`

    //超链接
    //<a href="http://news.baidu.com/ns?cl=2&rn=20&tn=news&word=%C1%F4%CF%C2%D3%CA%CF%E4%20%B5%BA%B9%FA"
    reLinkBad = `<a[\s\S]*?href="(https?://[\s\S]+?)"`
    reLink    = `href="(https?://[\s\S]+?)"`

    //手机号
    //13x xxxx xxxx
    rePhone = `1[345789]\d\s?\d{4}\s?\d{4}`

    //身份证号
    //123456 1990 0817 123X
    reIdcard = `[123456]\d{5}((19\d{2})|(20[01]\d))((0[1-9])|(1[012]))((0[1-9])|([12]\d)|(3[01]))\d{3}[\dX]`

    //图片链接
    //"http://img2.imgtn.bdimg.com/it/u=2403021088,4222830812&fm=26&gp=0.jpg"
    reImg = `"(https?://[^"]+?(\.((jpg)|(jpeg)|(png)|(gif)|(bmp)|(svg)|(swf)|(ico))))"`
)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,198评论 0 9
  • http://www.jb51.net/tools/zhengze.html 正则表达式30分钟入门教程 版本:v...
    nullleaf阅读 630评论 0 2
  • 注:本篇文章只为方便查看,特此保留,如有冒犯,敬请谅解!!! 本文目标 30分钟内让你明白正则表达式是什么,并对它...
    阿杰Alex阅读 1,516评论 0 10
  • 版本:v2.3.5 (2017-6-12) 作者:deerchao 转载请注明来源 目录 跳过目录 本文目标 如何...
    readilen阅读 1,013评论 2 13
  • 教程地址:http://deerchao.net/tutorials/regex/regex.htm#missio...
    金星show阅读 2,680评论 0 0