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

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

匹配、查找
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. 第五章 与HTTP协作的Web服务器

    第五章  与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTT ...

  2. jenkins传统模式发布istio应用

    一.发布金丝雀版本 Pre Setps cd /var/lib/jenkins/workspace/istio-service-user-canary/istio-service-user # 旧版本 ...

  3. Codeforces Round #598 (Div. 3) B. Minimize the Permutation 贪心

    B. Minimize the Permutation You are given a permutation of length n. Recall that the permutation is ...

  4. DirectShow 应用开发过程

    本文准备总结一些 Direct Show 常用的API接口函数,方便以后查询回忆.如果这里没有你想了解的函数,你可以自行搜索MSDN + 函数名去 MSDN 查找你想要了解的函数,也可以查看百度百科相 ...

  5. C#中char[]与string之间的转换;byte[]与string之间的转化

    目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...

  6. Ajax和跨域请求

    Ajax 一.概述 Web 程序最初的目的就是将信息(数据)放到公共的服务器,让所有网络用户都可以通过浏览器访问. 在次之前,我们可以通过以下几种方式让浏览器发出对服务端的请求,获取服务端的数据: 地 ...

  7. tensorflow slim代码使用

    此处纯粹作为个人学习使用,原文连接:https://www.jianshu.com/p/dc24e54aec81 这篇文章是借鉴很多博文的,作为一个关于slim库的总结 导入slim模块 import ...

  8. Spring Boot2 系列教程(二十二)整合 MyBatis 多数据源

    关于多数据源的配置,前面和大伙介绍过 JdbcTemplate 多数据源配置,那个比较简单,本文来和大伙说说 MyBatis 多数据源的配置. 其实关于多数据源,我的态度还是和之前一样,复杂的就直接上 ...

  9. IT从业者不可不知的三条定律

    信息技术行业,也就是我们所说的IT行业,有着传统行业所未有的发展速度和模式,当然也有着它独特的发展定律.如果你是从事相关行业,下面讲到的三条定律,不可不知. 摩尔定律 比尔·盖茨曾跟通用公司老板说:如 ...

  10. C#上手练习7(方法语句2)

    上一篇方法调用赋值封装,这里使用封装后调用,尽量满足开闭原则. 以及静态类的使用. using System; namespace KingTest03 { class Program { int a ...