php正则表达式实现替换的方法:首先创建一个PHP示例文件;然后定义一个字符串;最后通过正则表达式“preg_replace("/[0-9]/","",$str);”去掉字符串中所有数字即可。

本教程操作环境:Windows7系统、PHP5.6版,该方法适用于所有品牌电脑。

PHP正则替换preg_replace函数的使用<?php

$str="as2223adfsf0s4df0sdfsdf";

echo preg_replace("/0/","",$str);//去掉0字符,此时相当于 replace的功能, preg_replace("/0/","A",$str); 这样就是将0变成A的意思了

echo preg_replace("/[0-9]/","",$str);//去掉所有数字

echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母

echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母

echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母

$str="as2223adfsAAf0s4df0s中国人dD中南海DDfsdf";

echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和数字

?>

经过以上的例子,相信大家知道,[ ] 和里面的,有什么作用了。也可以看到,匹配的字符串必须加 / /(看例子的第一个参数)

$str="acsdcs<55555555>sc<6666>sdcd";

echo preg_replace("/<.>/","",$str);

//这个是表示去除以结尾的那部份,输出结果是:acsdcssdcd

注意:上面的 .* 是表示任何字符,也就是说不管<>包住的是什么都去掉其中. 表示任意字符, * 表示任意个数

现在我们来改动一下,如果不想是任何个数呢?

$str="acsdcs<55555555>sc<6666>sdcd";

echo preg_replace("/<.>/","",$str); //此时输出:acsdcs<55555555>scsdcd因为{4}指定了条件:<>内为4个字符的才满足条件,所以<55555555>不符合条件,没有被替换。

注意:这时我们又学到了一个知识点{数字} 表示指定前面的个数,*就表示是任意个(0--无限个)

表示重复次数的除了 *, {指定次数} 表示,还有很多表达形式:

$str="acsdcs<55555555>sc<6666>sd<>cd";

echo preg_replace("//","",$str);

//输出acsdcscd

echo "


";

echo preg_replace("//","",$str);

//输入acsdcsscsd<>cd

?>

上面的例子只要是为了 表达 * 与+的区别 ,* 表示重复0数或n 次,而+ 表示1次以上,即一例中表示<>里面至少要有一个数字才符合条件。

相信这时大家知道,为什么上例中用* 和用+输出的结果不同了吧

再来:

$str="acsdcs<55555555>sc<6666>sd<>cd";

echo preg_replace("//","",$str);

//输出acsdcs<55555555>sc<6666>sdcd

?>

看[0-9]? 这里的?表示要是0次或1 次,超过1次又不符合条件了。

总结一下,上面我们学会了 * + ? 和大括号{}表示重复次数的方法。

----------------------------------------------------------------------------------------------------

$s=preg_replace("/(.*?[月票|求|更].*?)/i","",$s);

preg_match_all('/href=\"([0-9]+)\.shtm">(.+?)/i',$s,$arr_dstorycate);

print_r($arr_dstorycate);

----------------------------------------------------------------------------------------------------

preg_match_all("//i",$content,$arr_dstorycate);

print_r($arr_dstorycate);

补充:

.$pattern是数组,$replace也是数组,则中对应的 元素进行替换

php

preg_replace有五个参数,有三个是必须参数

Preg_replace(mixed $pattern, mixed $replacement, mixed $subject [,int $limit = -1 [,int $count ]]);

$pattern 可以是字符串,字符串数组,或者preg

$replace 是用于替换的字符串或字符串数组

$subject 目标字符串或者目标字符串数组

$limit 每个模式在每个$subject上最大的替换次数,默认是-1(无限次)

$count 返回在目标字符串所替换的次数

在repalce与pattern中有几点要注意的

1.$pattern是数组,$replace也是字符串,那么所有模式都使用这个字符串来匹配;

2.$pattern是数组,$replace也是数组,则中对应的 元素进行替换

3.如果数组$pattern大于$replace,则多出来的$pattern用空的字符串进行替换,

$replace少于$patterns,则匹配到的值全部用空字符串来替换

4.对于上面例子中出现的${1},${2},${3},这个叫做包含后向引用,里面的数字代表原子出现的位数,有两种写法,一种是\\n,一种是${n},推荐使用第二种写法.会把目标字符串匹配到的pattern中的原子,按照要求变化目标字符串的格式,或者匹配的原子原样输出(这里举两个例子)

把时间按照 下划线分割开来,${3}就是匹配的到$patterns中的第三个原子((\d{1,2})),${4}就是匹配的到$patterns中的第四个原子((\d{1,2}))以此类推,

例如大家熟悉的smarty模板引擎中编译后替换的方法

5.第四个参数的$limit的使用,第四个参数的意思是每个模式在每个subject上进行替换的最大次数

如果limit为n,它只用正则替换n次

6.第五个参数$count的使用,$count的意思是,subject目标字符串被替换的次数,拿第五点的例子来说

上面代码中的例子运行结果如下:

附加:

preg_replace与str_replace的关系是什么呢?

我们可以理解为str_replace是preg_repalce的一个子集.只是str_replace中的第一个参数写的是string,而preg_replace写的是一个正则表达式

php如何使用正则表达式,php如何使用正则表达式实现替换相关推荐

  1. 正则表达式中grep,sed的用法(包括基本的正则表达式和扩展的正则表达式)

    一 正则表达式   Basic REGEXP:基本正则表达式 Extended REGEXP:扩展正则表达式 (正则表达式是使得计算机变成智能化的重要途径) 1.1 基本正则表达式 . : 表示匹配任 ...

  2. java正则表达式 过滤特殊字符的正则表达式

    在网上找了好久也没找到个合适的正则表达式以过滤特殊字符:自己学习了下,写了两个,实现要求. Java代码 // 过滤特殊字符 public static String StringFilter(Str ...

  3. 所有字符不含换行 正则表达式_网络爬虫 | 正则表达式

    正则表达式中匹配与查找 正则表达式,简称为regex,是文本模式的描述方法. >>> import re>>> pattern = re.compile('\d\d ...

  4. 【计算理论】正则语言 ( 正则表达式原子定义 | 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 )

    文章目录 一.正则表达式 定义 二. 正则表达式语言 原子定义 三.正则表达式语言 结构归纳定义 四.正则表达式语言 示例 五.空集 ∅\varnothing∅ 与 空字符 ε\varepsilonε ...

  5. java中正则表达式函数_java正则表达式PHP中的正则表达式函数介绍

    java正则表达式PHP中的正则表达式函数介绍 正则表达式(Regular Expression) 正则表达式系统: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PC ...

  6. python正则表达式修饰符_python正则表达式,看完这篇文章就够了...

    今天讲什么? 今天以为大学同学微信聊,说最近在看我的公众号,她是国企汽车制造业的,但也要用python进行数据分析...之前看了往期的python字符串操作内容,里面说到了正则表达式,想学习一下... ...

  7. python正则表达式操作指南_Python重新正则表达式操作指南

    PYTHON正则表达式指南 python re正则表达式模块的中文介绍: python re模块(正则表达式)提供类似于Perl和其他编程语言的常规匹配操作, 它是处理Python字符串的强大工具,具 ...

  8. html正则表达式的书写,前端正则表达式书写及常用的方法

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 前端正则表 ...

  9. mysql正则表达式配置_G. MySQL正则表达式

    附录G:MySQL正则表达式 正则表达式是为复杂搜索指定模式的强大方式. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL ...

  10. ES6/05/正则表达式简介,正则表达式如何使用,正则表达式中的特殊字符(边界符,量词符),预定义类,正则表达式中的替换

    正则表达式 目标:1,说出正则表达式的作用 2,能使用一些简单的正则表达式 3,使用正则表达式对表单进行验证 4,使用正则表达式替换内容 正则表达式简介 正则表达式(Regular Expressio ...

最新文章

  1. R语言unlist函数将复杂数据(list列表、dataframe、字符串String)对象处理成简单向量vector形式:将包含dataframe和字符串的向量列表转换为单个向量(删除数据名称)
  2. 全国大学生智能汽车竞赛介绍-2020
  3. 一篇文章普及各种ios基本知识(防止奸商忽悠、鉴别假冒翻新机、知识入门必备)
  4. 未来五年,物联网将迎来什么样的蜕变?
  5. Vijos P1448 校门外的树【多解,线段树,树状数组,括号序列法+暴力优化】
  6. linux shell学习问题部分记录
  7. 20175213 2018-2019-2 《Java程序设计》第3周学习总结
  8. code1068 乌龟棋
  9. Day.js 是一个仅 2kb 大小的轻量级 JavaScript 时间日期处理库,和 Moment.js 的 API 设计保持完全一样,dayjs...
  10. Spring实战(第4版)pdf
  11. spyder python教程_Spyder
  12. CSS——run-in元素
  13. .NET选择模板添加书签导出Word文档,Web导出至Excel。WordHelp类和ExcelHelp类
  14. 小瓦怕扫地机器人_小瓦扫地机器人青春版app下载-小瓦扫地机器人米家app下载v5.6.81 安卓版-西西软件下载...
  15. 等时替代模型( Isotemporal Substitution Model)
  16. 最长递增子序列 O(NlogN)算法
  17. IOS - iPhoneX 怎么进入 DFU 模式(刷机必备)?
  18. 朋友圈不知你看到的那么简单,千万Feed流系统的存储技术解密
  19. Protege新手入门(基础篇)
  20. android第三方支付的接入(支付宝,微信,银联,京东,百度等)

热门文章

  1. Python是什么?有那些用途?
  2. Python与Java-你首选哪个?
  3. 北妈每日一学:ES6语法入门 之开门见山
  4. 经典面试题(50):以下代码将输出的结果是什么?
  5. android studio annotations,AndroidStudio 添加AndroidAnnotations -电脑资料
  6. c语言中怎样变大输出的字符串,C语言。要输入一个超大数比如 111111111111111111111111111111111111111 怎样用字符串数组求各位的和呢?...
  7. 充电枪cp信号控制板_筋膜枪究竟是不是智商税?体验评测后,我的回答更肯定了...
  8. 临时文件_Go语言学习基础-文件路径、目录、临时文件和目录
  9. Cell Reports:CRISPR-Cas12k引导的细菌普适性靶向遗传筛选系统
  10. 花器官身份基因与靶基因间的调控进化情况