美文网首页
27,正则表达式3-速查

27,正则表达式3-速查

作者: 旅程中 | 来源:发表于2018-10-16 22:05 被阅读4次
    表达式 可匹配
    \r, \n 代表回车和换行符
    \t 制表符
    \\ 代表 "\" 本身
    表达式 可匹配
    \^ 匹配 ^ 符号本身
    \$ 匹配 $ 符号本身
    \. 匹配小数点(.)本身
    表达式 可匹配
    \d 任意一个数字,0~9 中的任意一个
    \w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
    \s 包括空格、制表符、换页符等空白字符的其中任意一个
    . 小数点可以匹配除了换行符(\n)以外的任意一个字符
    表达式 可匹配
    [ab5@] 匹配 "a" 或 "b" 或 "5" 或 "@"
    [^abc] 匹配 "a","b","c" 之外的任意一个字符
    [f-k] 匹配 "f"~"k" 之间的任意一个字母
    [^A-F0-3] 匹配 "A"~"F","0"~"3" 之外的任意一个字符
    表达式 可匹配
    {n} 表达式重复n次,比如:"\w{2}" 相当于 "\w\w";"a{5}" 相当于 "aaaaa"
    {m,n} 表达式至少重复m次,最多重复n次,比如:"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
    {m,} 表达式至少重复m次,比如:"\w\d{2,}"可以匹配 "a12","_456","M12344"...
    ? 匹配表达式0次或者1次,相当于 {0,1},比如:"a[cd]?"可以匹配 "a","ac","ad"
    + 表达式至少出现1次,相当于 {1,},比如:"a+b"可以匹配 "ab","aab","aaab"...
    * 表达式不出现或出现任意次,相当于 {0,},比如:"^*b"可以匹配 "b","^^^b"...
    表达式 可匹配
    ^ 与字符串开始的地方匹配,不匹配任何字符
    $ 与字符串结束的地方匹配,不匹配任何字符
    \b 匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符
    表达式 可匹配
    | 左右两边表达式之间 "或" 关系,匹配左边或者右边
    ( ) (1). 在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
    (2). 取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
    表达式 可匹配
    \S 匹配所有非空白字符("\s" 可匹配各个空白字符)
    \D 匹配所有的非数字字符
    \W 匹配所有的字母、数字、下划线以外的字符
    \B 匹配非单词边界,即左右两边都是 "\w" 范围或者左右两边都不是 "\w" 范围时的字符缝隙

    正向预搜索 "(?=xxxxx)","(?!xxxxx)"
    反向预搜索 "(?<=xxxxx)","(?<!xxxxx)"

    贪婪模式:dxxxdxxxd

    表达式 可匹配
    (d)(\w+) "\w+" 将匹配第一个 "d" 之后的所有字符 "xxxdxxxd"
    (d)(\w+)(d) "\w+" 将匹配第一个 "d" 和最后一个 "d" 之间的所有字符 "xxxdxxx"。虽然 "\w+" 也能够匹配上最后一个 "d",但是为了使整个表达式匹配成功,"\w+" 可以 "让出" 它本来能够匹配的最后一个 "d"
    表达式 可匹配
    (d)(\w+?) "\w+?" 将尽可能少的匹配第一个 "d" 之后的字符,结果是:"\w+?" 只匹配了一个 "x"
    (d)(\w+?)(d) 为了让整个表达式匹配成功,"\w+?" 不得不匹配 "xxx" 才可以让后边的 "d" 匹配,从而使整个表达式匹配成功。因此,结果是:"\w+?" 匹配 "xxx"

    1、/g 表示该表达式将用来在输入字符串中查找所有可能的匹配,返回的结果可以是多个。如果不加/g最多只会匹配一个
    2、/i 表示匹配的时候不区分大小写,这个跟其它语言的正则用法相同
    3、/m 表示多行匹配。什么是多行匹配呢?就是匹配换行符两端的潜在匹配。影响正则中的^$符号
    4、/s 与/m相对,单行模式匹配。
    5、/e 可执行模式,此为PHP专有参数,例如preg_replace函数。
    6、/x 忽略空白模式

    相关文章

      网友评论

          本文标题:27,正则表达式3-速查

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