字符类

作者: Luyc_Han | 来源:发表于2017-11-02 16:55 被阅读6次
    • match
    js匹配使用
    
    • g 取与global
    全局匹配
    
    • *
    匹配全部
    * 最少匹配0个最多不限制相当于{0,}
    
    • [abc]
    []内部只能表示一个字符,上述写的[abc]表示a或者b或者c其实相当于/a|b|c/
    
    • [0-9a-zA-Z]
    表示数字或者字母
    
    • [^a]
    ^表示取反,相当于除了a以外的所有字符;
    例如[^0-9a-zA-Z]意思就是除了数字和字母意外的所有字符
    
    • .
    匹配所有字符
    
    • +
    +最少匹配一个最多不限制相当于{1,}
    例如:
    字符串: aakkdkd112kd33333
    /a.+d/g 此表达式匹配的就是aakkdkd112kd这段字符串
    说明:
    正则表达式的贪婪属性会使匹配的时候以最后一个字符为准
    
    举个例子:
    <ddd>d<d44d>55
    如果我们只想匹配到: <ddd>,<d44d>
    使用表达式: /<.+>/g 就会体现出正则的懒惰之处,匹配之后得到:<ddd>d<d44d>
    因为它是以最外层的<>为准
    这时我们就需要稍微改一下表达式:/<[^<>]+>/g
    这样的话就可以[^<>]表示出了<>之外的所有字符
    附加例子:
    var str = "http://main.mp3.jpghttps://main.mp3.jpg"
    var zz = /http[s]?:\/\/[^j][^p][^g]*\.jpg/g
    str.match(zz)
    结果:
    ["http://main.mp3.jpg", "https://main.mp3.jpg"]
    
    • \d 原单词 digital 数字
    表示数字
    
    • \w 取与 word
    相当于[0-9a-zA-Z_]也就是数字字母和下划线
    
    • \s 取与 space
    包括空格,tab,\n等一些空白的字符
    
    • \D
    相当于[^0-9] 也就是除了数字以外的所有字符,也就是和\d相反
    
    • \W
    相当于[^a-z0-9_]也就是和\w相反 
    
    • \S
    和\s相反也就是除了 包括空格,tab,\n等一些空白的字符
    
    • {n, m} 量词
    意思是最少n次,最多m次
    如果写成 {n,}意思是最少n次最多不限制
    如果写成 {,m}意思是最少不限制次最多m次
    如果写成 {n}意思是刚好n次
    举个例子:
    \d{1-4}\g
    意思是匹配一个1到4位的数字
    
    • ^
    这个^在[]内表示取反
    如果在[]以外表示开头
    相当于说
    /^\d/g
    这个表达式的意思是第一个字符必须是数字
    
    • $
    表示结尾
    相当于说
    /\d$/g
    这个表达式的意思是最后一个字符必须是数字
    
    • ^ $
    举个例子去除行首和行尾空格
    /^\s*|\s*$/g
    
    • i
    忽略大小写
    
    • \b
    单词边界
    例子:
    字符串:baadddaa
    表达式:/\bbaa/g
    匹配结果: baa
    
    

    附录:

    匹配汉字
    [\u4e00-\u9fa5]
    u4e00表示汉字第一个字       一
    u9fa5表示汉字最后一个字    龥
    

    相关文章

      网友评论

          本文标题:字符类

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