zoukankan      html  css  js  c++  java
  • 【正则】day02

    正则表达式的应用
    匹配、查找、分割、替换
    对于普通字符串处理函数和正则表达式字符处理函数,使用的原则:
    能用普通字符串处理函数处理的,就不要用正则表达式处理。

    原因:
    普通字符串处理函数:效率高。简单。
    正则表达式处理函数:效率相对低。复杂。功能强大。

    匹配、查找
    strstr(string $haystack,string $needle)
    功能:查找needle在haystack中出现后的字符串
    参数:
    haystack 元字符串
    needle   查找的字符串
    返回:出现后的字符串

    strpos(string $haystack,string $needle)
    功能:在haystack查找needle首次出现的位置
    参数:
    haystack 原字符串
    needle   要查找的字符串
    返回:位置


    strrpos(string $haystack,string $needle)
    功能:在haystack查找needle最后一次出现的位置
    参数:
    haystack 原字符串
    needle   要查找的字符串
    返回:位置


    substr(string $str,int $start[,int length])
    功能:字符串的截取
    参数:
    str 原字符串
    start 截取的开始
    length 截取的长度,默认截取到字符串尾
    返回:截取后的字符串

    preg_match_all(string $pattern,string $subject,array $match)
    功能:正则匹配
    参数:
    pattern 正则
    subject 要进行匹配的字符串
    match   匹配的结果
    返回:匹配到的次数

    preg_match(string $pattern,string $subject,array $match)
    功能:正则匹配
    参数:
    pattern  正则
    subject 要进行匹配的字符串
    match   匹配的结果,仅返回第一次匹配到的结果
    返回:匹配到的次数。(0~1)


    preg_grep(string $pattern,array $input)
    功能:正则匹配
    参数:
    pattern  正则
    input    要进行匹配的字符串数组。
    返回:匹配的结果,返回格式:数组

    分割
    explode(string $delimiter,string $str[,int $limit])
    功能:分割
    参数:
    delimiter 分割的标识字符串
    str       要进行分割的字符串
    limit     分割的次数
    返回:分割好的字符串。格式:数组

    preg_split(string $pattern,string $subject)
    功能:字符串的分割
    参数:
    pattern 正则
    subject 要进行分割的字符串
    返回:被分割好的字符串

    替换
    str_replace(mixed $search,mixed $replace,mixed $str)
    功能:在str字符串中查找search替换成replace
    参数:
    search 要查找的字符串
    replace 要替换的字符串
    str    原字符串
    返回:替换后的字符串


    preg_replace(string $pattern,string $replace,string $subject)
    功能:正则替换
    参数:
    pattern 正则表达式
    replace 要进行替换的字符串
    subject 原字符串
    返回:替换后的字符串


    贪婪模式和非贪婪模式
    贪婪模式
    .* 
    非贪婪模式
    .*? 

  • 相关阅读:
    在循环中禁止remove/add
    [算法竞赛入门]WERTYU
    [算法竞赛入门]Tex Quotes
    [算法竞赛入门]竖式问题
    [算法竞赛入门]蛇形填数
    [C++面试]关于const的使用方法
    [C++面试]单例模式-设计模式
    [C++面试]C++的三种继承(public/protected/private继承)
    用微服务架构,有哪些好处?
    东软数据可视化分析, 已经方便成这样?!
  • 原文地址:https://www.cnblogs.com/tommymarc/p/11627345.html
Copyright © 2011-2022 走看看