PHP-PCRE正则表达式函数
PCRE正则表达式函数
PCRE字符类
\\b 词边界
\\d 匹配任意数字
\\s 匹配任意空白,如TAB制表符或空格
\\t 匹配一个TAB制表符
\\w 匹配包含字母与数字的字符
PCRE匹配
在绝大多数PCRE示例中,分隔符都使用一个/,可在引号内表达式的开始和结尾出看到,在PCRE表达式中的最后一个分隔符/后面,可添加一个修饰符来更改正则表达式的行为 1.preg_match() 在字符串中查找匹配项,它需要两个参数:正则表达式(parttern)与字符串(string)
- <?php
- $email="raymond.du@yhys.com";
- echo preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$email);
- ?>
2.preg_quote() 在每个正则表达式语法的前面加入一个转义字符,也就是反斜线(\)
- <?php
- $string="$3000 你会去周游世界吗,^-^";
- echo preg_quote($string);
- ?>
3.preg_split() 表示用正则表达式分隔字符串
- <?php
- $string="+杜江+++林林++++++++++++北京大学+++中华人民共和国";
- $fields=preg_split("/\+{1,}/",$string);
- foreach ($fields as $field) {
- echo $field."<br>";
- }
- ?>
4.preg_grep()
- <?php
- $goods=array("家居","家具","窗体","家装");
- //把"家"字打头的数组内容取出生成一个新数组$item
- $item=preg_grep("/^家/",$goods);
- print_r($item);
- ?>
5.preg_replcae() 格式:mixed preg_replcae(mixed pattern,mixed replace,ent,mixed subject); 这个函数会將string中符合表达式pattern的字符串全部替换为表达式replacement.如果 replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只需要用"\\1"来读取 比如:將用户输入的一段文字进行分析,如果有http:的字样,则认为是一个网址,并加上超链接
- <?php
- $string="欢迎炎黄养生网 http://www.yhys.com/";
- echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>",$string);
- ?>
6.preg_replace_callback() 该函数使用回调函数执行正则表达式的搜索和替换
- <?php
- //回调函数,即用户自定义替换函数
- function do_spam($matches){
- $pre_array=array('gg'=>'帅哥','mm'=>'美眉','pp'=>'漂亮');
- if (isset($pre_array[$matches[1]])){
- return $matches[1] . "(" . $pre_array[$matches[1]] . ")";
- }else {
- return $matches[1];
- }
- }
- //原字符串
- $string="这位<spam>gg</spam>的<spam>mm</spam>很<spam>pp</spam>哦";
- //从<spam></spam>中搜索匹配的子进行替换
- $new_string=preg_replace_callback("/<spam>(.*)<\/spam>/U",'do_spam',$string);
- print_r($new_string);
- ?>
PHP-PCRE正则表达式函数的更多相关文章
- <转>PHP中正则表达式函数
PHP中的正则表达式函数 在PHP中有两套正则表达式函数库.一套是由PCRE(Perl Compatible Regular Expression)库提供的,基于传统型NFA.PCRE库使用和Perl ...
- PHP正则表达式函数学习
正则表达式是在日常开发中经常用到的,通常一些使用频率过高的正则表达式都是直接粘贴复制,对于基础正则的使用还是要铭记于心的,今天抽时间整理一些php正则表达式的用法. 一.php中常用的正则表达式函数 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Nodejs正则表达式函数之match、test、exec、search、split、replace使用详解
1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹 ...
- Oracle正则表达式函数:regexp_like、regexp_substr、regexp_instr、regexp_replace
Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace --去掉所有特殊字符,只剩字母 SELECT REGEXP ...
- php中PCRE正则表达式分隔符的使用
转自:http://www.baiwar.com/post/the-use-of-php-pcre-regex-delimiter.html 在php5.3.0以前,PHP可使用两套正则表达式规则,一 ...
- Node.js之【正则表达式函数之match、test、exec、search、split、replace使用详解】
1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹 ...
- Oracle 正则表达式函数-REGEXP_REPLACE
背景 当初写oracle的一个存储过程,以前不知道sql里也有正则表达式,关于正则表达式教程很多了,这里只是记录下Oracle也有这个功能,下次再有类似需求用这个处理的确方便很多. 想起存储过程,就想 ...
- php中常用的正则表达式函数
php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...
随机推荐
- JAVA错误:org.apache.jasper.JasperException: java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apach
解决方法一(一般情况加均可解决问题): 修改了tomcat里的context.xml文件,在context 元素下添加 <Loader delegate="true"/&g ...
- Angularjs过滤器的开发.
先上代码. <!DOCTYPE html> <html ng-app="FilterModule"> <head lang="en" ...
- Plan9 与 Plan9port
Plan9 Plan9 是一个操作系统.由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发). 参考:http://www.cnblogs.com/yjf ...
- List<Object>和List<String>
下面的代码在JAVA中是不可以的: import java.util.*; public class Test { public static void main(String[] args) { L ...
- Windows server 2008 下iis7 架设ftp服务器
架设了一天的ftp服务器,终于搞定了. 按着windows server 2003的思路在windows server 2008把ftp设置好后,登录过程老是出现:530 User cannot lo ...
- SQLite打开提示database disk image is malformed
SQLite打开提示database disk image is malformed 网上说产生这种错误的原因有很多种,磁盘空间不足,还有就是写入数据过程中突然掉电等. 这种情况,如果数据还可以导出, ...
- nyoj 62 笨小熊
点击打开链接 笨小熊 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法 ...
- Servlet(Response,Request)
1.response控制码表的3种方法:输出1; 2,文件下载 3.控制浏览器定时刷新网页(REFRESH) 4.控制浏览器缓存当前文档内容 5. 通过response实现请求重定向. 6.setHe ...
- 蓝桥杯---波动数列(dp)(背包)(待解决)
问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3. 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减 ...
- linux内核调试指南
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...