美文网首页Go
常用正则规则

常用正则规则

作者: Hifun丶 | 来源:发表于2020-01-16 11:05 被阅读0次

    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))))"`
    )
    

    相关文章

      网友评论

        本文标题:常用正则规则

        本文链接:https://www.haomeiwen.com/subject/jrlfzctx.html