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

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

匹配、查找
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 原字符串
返回:替换后的字符串

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

【正则】day02的更多相关文章

  1. scrapy初试水 day02(正则提取)

    1.处理方式 法一 通过HtmlXPathSelectorimport scrapyfrom scrapy.selector import HtmlXPathSelectorclass DmozSpi ...

  2. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  3. C#-正则,常用几种数据解析-端午快乐

    在等待几个小时就是端午节了,这里预祝各位节日快乐. 这里分享的是几个在C#中常用的正则解析数据写法,其实就是Regex类,至于正则的匹配格式,请仔细阅读正则的api文档,此处不具体说明,谢谢. 开始吧 ...

  4. Javascript 中 with 的替代方案和String 中的正则方法

    这几天在升级自己的MVVM 框架,遇到很多小问题,就在这里统一解决了. with 语法 在代码中,要执行这么一个函数 function computeExpression(exp, scope) { ...

  5. JavaScript与PHP中正则

    一.JavaScript 有个在线调试正则的工具,点击查看工具.下面的所有示例代码,都可以在codepen上查看到. 1.创建正则表达式 var re = /ab+c/; //方式一 正则表达式字面量 ...

  6. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  7. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  8. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  9. python浅谈正则的常用方法

    python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...

随机推荐

  1. (day58)十、Cookie、Session、Token、Django中间件

    目录 一.Cookie (一)由来 (二)什么是Cookie (三)Django中操作Cookie (1)设置Cookie (2)获取Cookie (3)删除Cookie 二.Session (一)由 ...

  2. Linux设备树文件结构与解析深度分析

    Copy from :https://blog.csdn.net/woyimibayi/article/details/77574736 正文开始 1. Device Tree简介 设备树就是描述单板 ...

  3. iptraf: command not found

    在Linux上安装iptraf,然后执行命令时报错,iptraf: command not found 解决办法:iptraf-ng包的二进制文件是iptraf-ng.使用命令iptraf-ng即可 ...

  4. Maven配置教程

    Maven的下载 在Maven的官网即可下载,点击访问Apache Maven. 下载后解压即可,解压后目录结构如下: Maven常用配置 在配置之前请将JDK安装好. 1. 环境变量配置 添加M2_ ...

  5. promise 极简版封装

    Promise 优点: 解决回调地狱, 对异步任务写法更标准化与简洁化 缺点: 首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消; 其次,如果不设置回调函数,Promise内部抛出的 ...

  6. JavaScript:ES6的新特性

    1.关键字 const:修饰常量.ES6之前只有变量的声明字段var,ES6开始引入常量关键字,被修饰的变量无法被修改. <script type="text/javascript&q ...

  7. 成为杰出Java开发人员的10个步骤

    在优锐课的学习分享中,讨论了如果你是Java开发人员并且对技术充满热情,则可以按照以下十个步骤进行操作,这可以使你成为杰出的Java开发人员. 1.具有扎实的基础和对OO原理的理解 对于Java开发人 ...

  8. ASP.NET Core框架深度学习(一) Hello World

    对于学习Core的框架,对我帮助最大的一篇文章是Artech的<200行代码,7个对象——让你了解ASP.NET Core框架的本质>,最近我又重新阅读了一遍该文.本系列文章就是结合我的阅 ...

  9. CSS渐变的两种基本用法

    1.线性渐变(linear-gradient) 基础用法:background:linear-gradient(angle,start-color,soft-line,end-color); 依次解释 ...

  10. JavaWeb之Fliter & Listener

    Fliter & Listener Listener 监听器 作用 监听某一事件的发生.状态的改变. 监听器内部实现机制 接口回调 接口回调 A在执行循环,当循环到5的时候, 通知B. 事先先 ...