美文网首页
正则表达式重温整理

正则表达式重温整理

作者: 冰Q | 来源:发表于2018-10-18 13:39 被阅读12次

    三大基础符号:Bracket括号符号、caret插入符号和Dollars美元符号

    • 在正则表达式中存在三种括号符号:方括号([)、花括号({)及 圆括号(()
    
    方括号"["内是需要匹配的字符,匹配括号中任意一个字符;
    花括号"{"内是指定匹配字符的数量/长度;
    圆括号“(“ 则是用来分组的。
    
    
    • 插入符号"^"表示正则的开始

    • 美元符号"$"表示正则的结束

    正则中的特殊快捷命令及其组合

    • \d —> [0-9]

    • \w —> [a-z0-9A-Z_]

    • \s —> 任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等

    • 字符* —> 0次或多次发生

    • 字符+ —> 至少一次发生

    • ? —> 0次或1次发生

    • .+ —> 匹配任何字符(字母,数字,符号),除了n(换行)之外,1+次数。

    • (?i) —> 表示下一个序列不区分大小写。

    • | —> 连接两个表达式,表示或的关系

    • . —> 匹配除了换行符以外的任意字符

    • \b —> 是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置

    • < —> 匹配单词开头的位置(待实证)

    • 字符 > —> 匹配单词结尾的地方(待实证)

    • \ —> 转义字符,普通字符转义为特殊字符,特殊字符转义为普通字符 - \n —> 匹配换行符 - \r —> 匹配一个回车符 - \f —> 匹配一个换页符

    
    (0?[1-9]|[12]\d|3[01])——匹配1到31之间的任何数字(前面的0是可选的)
    
    ([\/\-])——匹配分隔符/或-
    
    ^[^@\s]+@[^@\s]+\.\w{2,6}$ 
    
    ## [^@\s]——匹配除@和空格\s之外的任何字符
    
    ## \.——匹配’.'字符
    
    ## \w{2,6}——匹配任何字符(字母,数字或下划线),2-6次
    
    如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\。例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。
    
    

    反义:有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义

    • \B —> 匹配非单词开头和结尾的地方

    • \W —> 匹配任意不是字母,数字,下划线的字符

    • \S —> 匹配任意不是空白符的字符

    • \D —> 匹配任意非数字的字符

    • [^x] —> 匹配除了x以外的任意字符

    • [^aeiou] —> 匹配除了aeiou这几个字母以外的任意字符

    后向引用:使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。

    
    \b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。(\1  => \w+)
    
    
    • 常用分组语法
    9.png
    
    \b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.时,它会匹配sing和danc。
    
    比如(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading。
    
    

    相关文章

      网友评论

          本文标题:正则表达式重温整理

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