php preg正则表达式

Note:

反斜线在单引号字符串和双引号字符串 中都有特殊含义,因此要匹配一个反斜线, 模式中必须写为 ”\\\\”。 译注: “/\\/”, 首先它作为字符串,反斜线会进行转义, 那么转义后的结果是/\/,这个才是正则表达式引擎拿到的模式, 而正则表达式引擎也认为 \ 是转义标记,它会将分隔符 / 进行转义, 从而得到的是一个错误,因此,需要 4 个反斜线才可以匹配一个反斜线。

事实上

$attribute = "sdfsdf.555";
preg_match(‘/([\w]+)(\.)([0-5]|.)/‘, $attribute, $matches);

Array
(
    [0] => sdfsdf.555    //匹配([\w]+)(\.)([0-5]|.)  如果整个模式匹配失败则不会继续匹配.例如$attribute = "sssss555"
    [1] => sdfsdf    //匹配(\w+)
    [2] => .    //匹配(\.)
    [3] => 555    //匹配([0-5]*)
)

preg_replace_callback

将字符窜中正则表达式匹配到的每一个值用回调函数处理并返回..

函数会在第一次匹配后 继续搜索.

首先会匹配得到[{summary}]

接着会继续搜索匹配得到[{items}]

最后匹配得到[{form}]

下个例子..正则表达式..匹配的结果分别是..[{summary}],[{items}]  [{form}]

将三个值用于回调函数...

比较下面两个匹配值的不同:

$layout = "{summary}\n{items}\n{form}";

$content = preg_replace_callback("/{\\w+}/", function ($matches) {

	print_r($matches);  

	return $matches[0];
}, $layout);

print_r($content);

$layout = "{summary}-{items}-{form}";

$content = preg_replace_callback("/({\\w+})(-)/", function ($matches) {
	print_r($matches);//["{summary}-","{summary}","-"]
	return $matches[0];
}, $layout);

print_r($content);
时间: 2024-10-17 07:00:25

php preg正则表达式的相关文章

php preg正则表达式的组成部分

定界符号 : 多种都可以,常用为// 原子 : 最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子 1,打印字符(a-z A-Z 0-9 [email protected]#$%^&*()_+...)和非打印字符 2, 代表一类字符 \d :任意一个数字 [0-9] \D :任意一个非数字 [^0-9] \w :任意一个字 a-z A-Z 0-9 _ [a-zA-Z0-9_] \W :任意一个非字 [^a-zA-Z0-9_] \s :代表任意一个空白 [\t\n\f\v]

PHP正则表达式提取html超链接中的href地址

用php的正则表达式相关函数,实现提取html超链接<a href="地址"></a>中的地址 <?php $preg='/<a .*?href="(.*?)".*?>/is'; $str ='<a href="链接1">URLNAME</a>文本段1<a href="链接2" target="_blank">URLNAME<

【夯实PHP基础系列】PHP正则表达式

一. 概述 1. 正则表达式的测试地址: http://tool.chinaz.com/regex/ 二.具体的常用正则表达式 1. 邮箱正则表达式: 1)\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14} 2)\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 3)解析: -- "\"      叫"跳脱字符".用于转义一些特殊符号,如".",&quo

刨根究底正则表达式之一——正则表达式简介

声明: 本系列文章的主要参考书有: <精通正则表达式>英文版及中文版 作者: Jeffrey E·F·Friedl 译者:余晟 电子工业出版社 2012-07 <正则指引>作者:余晟 电子工业出版社 2012-05 <正则表达式必知必会>作者:Ben Forta 译者:杨涛 人民邮电出版社2015-01 <冒号课堂:编程范式与OOP思想>作者:郑晖 电子工业出版社 2009-10 同时,还参考了网上的大量资料,除了少部分资料由于未作大量修改(但基本上也有少量

正则表达式(转)

正则表达式的用途 https://msdn.microsoft.com/zh-cn/library/101eysae(v=vs.90).aspx 通过使用正则表达式,可以: 1.测试字符串内的模式. 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式.这称为数据验证. 2.替换文本. 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它. 3.基于模式匹配从字符串中提取子字符串. 可以查找文档内或输入域内特定的文本. 正则表达式语法 https:

C regex 正则表达式小记

如果用户熟悉Linux下的sed.awk.grep或vi,那么对正则表达式这一概念肯定不会陌生.由于它可以极大地简化处理字符串时的复杂度,因此现在已经在许多Linux实用工具中得到了应用.千万不要以为正则表达式只是Perl.Python.Bash等脚本语言的专利,作为C语言程序员,用户同样可以在自己的程序中运用正则表达式.     标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Re

C语言正则表达式

#include <sys/types.h> #include <regex.h> int regcomp(regex_t *preg, const char *regex, int cflags); int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); size_t regerror(int errcode, const regex

PHP正则表达式的使用

1. 正则表达式的主要作用是:分割.匹配.查找.替换2. 正则表达式中包括的元素:原子(普通字符:a-z A-Z 0-9 .原子表.转义字符),元字符(有特殊功能的字符),模式修正符(系统内置部分字符 i .m.S.U-)3. 转义字符:\d包含所有数字[0-9],\D除所有数字外[^0-9],\w包含所有字符(大小写英文字母.下划线.数字) [a-zA-Z_0-9],\W除所有字符(大小写英文字母.下划线.数字)外 [^a-zA-Z_0-9],\s包含空白区域如回车.换行.分页等 [\f\n\

WEB开发中常用的正则表达式集合

在计算机科学中,正则表达式用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在WEB开发中,正则表达式通常用来检测.查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符合规则的页面内容等等.今天我将分别用PHP和Javascript向大家介绍WEB开发中最常用最实用的正则表达式及其用法,正则表达式是一门学科,不可能使用一篇文章来讲解完,理论的东西网上很多,有兴趣的同学可以搜一大把.不过你也许没必要去埋头学习琢磨不透的正则表达式,看本文和实例给您呈现常用.实用的正则