zoukankan      html  css  js  c++  java
  • 正则知识要点

    匹配字符

    ?  匹配前面0次或1次。

    + 匹配前面1次或多次。

    * 匹配前面0次或多次。

    边界

     放在词前就是前边界, 放在后就是后边界.

    通常情况下,以 空格、段落首行、段落 尾、逗号、句号 等符号作为边界,值得注意的 是,分隔符“-”也可以作为边界。 

    非边界字符就是边界字符的边界.

    “B”,它用来匹配不在边界的 字符。 

    “^” “$” 全文边界的头和末. 注意^放在[]中表示排除,如[^1-5],该字符不是1~5之间的数字.

    贪婪匹配和惰性匹配

    ?字符, 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

    后向引用

    数字  如找出重复的单词 (w+) 1 , 有()的都加入后向引用集中, 如果不要加入, 则看"非获取匹配".

    后向替换

    $数字 替换时用到

    非获取匹配

    符号"?:", 如(?:xxx) 就是括号内的内容不会被后向引用. 

    正向预查

    符号"?=", 如xxx(?=yyy) 将xxx匹配出来, 但yyy不会, 就是取括号的前部分.

    负正向预查

    符号"?!", 如xxx(?!yyy) 将xxx匹配出来, 但yyy不会, 就是取括号的前部分.

     

    以下js不支持

    反向预查

    符号"?<=", 如(?<=xxx)yyy, 将yyy匹配出来, 但xxx不会, 就是取括号的后部分.

    负反向预查

    符号"?<!", 如(?<!xxx)yyy, 将yyy匹配出来, 但xxx不会, 就是取括号的后部分.

    js 正则函数有 match、exec、test、search、replace、split

    php正则函数有 

    preg_filter — 执行一个正则表达式搜索和替换
    preg_grep — 返回匹配模式的数组条目
    preg_last_error — 返回最后一个PCRE正则执行产生的错误代码
    preg_match_all — 执行一个全局正则表达式匹配
    preg_match — 执行匹配正则表达式
    preg_quote — 转义正则表达式字符
    preg_replace_callback_array — Perform a regular expression search and replace using callbacks
    preg_replace_callback — 执行一个正则表达式搜索并且使用一个回调进行替换
    preg_replace — 执行一个正则表达式的搜索和替换
    preg_split — 通过一个正则表达式分隔字符串

  • 相关阅读:
    OpenCV之设计模式
    ca
    BMP结构详解
    Lucas–Kanade光流算法学习
    卡尔曼
    hash+链表
    文件操作
    查找
    fseek效率
    大家都说3C直连网络,3C网络是指什么呢?
  • 原文地址:https://www.cnblogs.com/jimzbom/p/6567860.html
Copyright © 2011-2022 走看看