php的正则表达式函数
‘壹’ 如何用 php 的字符串处理函数和正则表达式函数来解析一段 xml 这是什么意思
xml 是具有特定语法和文本规范的一种文件格式,但究其实质来说还是字符串文本,因此,你完全可以用 Php 的字符串处理函数,以及正则表达式函数来完成对 xml 文件的解析。
通常来说,对于 xml 文档,PHP 内置提供了多种专门用于处理这种文件的扩展,比如:SimpleXML等。
‘贰’ PHP 正则表达式函数库
在PHP中有两套正则表达式函数库,两者功能相似,只是执行效率略有差异:
一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_”为前缀命名的函数;
一套由POSIX(Portable Operating System Interface of Unix )扩展提供的(PHP默认)。使用以“ereg_”为前缀命名的函数;
PHP中,正则表达式有三个作用:
匹配,也常常用于从字符串中析取信息。
用新文本代替匹配文本。
将一个字符串拆分为一组更小的信息块。
一个正则表达式中至少包含一个原子。
原子(普通字符,如英文字符)
元字符(有特殊功用的字符)
模式修正字符(对正则表达式语义的修正)
原子(Atom)
单个字符、数字,如a~z,A~Z,0~9。
模式单元,如(ABC)可以理解为由多个原子组成的大的原子。
原子表,如 。
重新使用的模式单元,如:\\1
普通转义字符,如:\d, \D, \w
转义元字符,如:\*,\.
POSIX正则表达式
POSIX正则表达式全称为Portable Operating System Interface of Unix,意为UNIX可移植操作系实现接口。
http://www.33dir.com/news/2/2168.html
构造POSIX正则表达式的方法和创建数学表达式的方法一样,也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。
‘叁’ 求一个PHP的正则表达式
用str_replace函数就可以了
‘肆’ 关于php的正则函数 preg_match( 正则表达式 , 待匹配字符串 , 结果接收变量) 正则表达式的输入问题
单单拿出上面数据里的一条用正则很难。分四段简单,匹配子文本就可以。
‘伍’ php 求正则表达式
$str = 'dfsdfsdf 54/r/n';
$array = preg_split('~\d{1,2}~',$str);
$array[0]是你想要的结果
‘陆’ 正则表达式函数PHP总结
eregi 好像PHP5都不支持了?
preg_match_all 匹配多个
preg_match 只能匹配出一个
‘柒’ php正则表达式
判断email邮件格式的正则表达式:
[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,6}
判断数字:
[d]+
‘捌’ 求php 正则表达式
php也是采用兼容perl的正则表达式,都是相通的
echo preg_replace("(\<span class=\"H\"\>)", "_", '123<span class="H">456');
输出 123_456
这里面是有个定界符的问题,若把两边的括号去掉的话就会报错,因为PHP 4.0.4 起 <> 可以用来匹配定界符
以下摘自php参考手册:
Perl 兼容正则表达式函数
简介
本类函数中所使用的模式极其类似 Perl。表达式应被包含在定界符中,如斜线(/)。任何不是字母、数字或反斜线(\)的字符都可以作为定界符。如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。自 PHP 4.0.4 起,也可以使用 Perl 风格的 (),{},[] 和 <> 匹配定界符。
‘玖’ PHP 正则表达式
([^\\.]+)\\..+
[^\\.]表示不是反斜杠\和点.的字符,([^\\.]+)中的加号表示匹配上述字符1次以上,外面的括号表示捕获分组,在替换中用$1表示
\\..+ \\表示反斜杠,.表示任意字符,..+表示至少2个任意字符
这个返回windows目录结构中的第一级目录
比如abcd\def\gh,这个正则可以匹配,前面的([^\\.]+)匹配abcd,保存在$1分组;后面\\.+匹配\def\gh
然后替换为$1,abcd\def\gh就被替换为abcd
‘拾’ php的正则表达式
\w的指代任何一个字的字符,“字”的字符是指任何一个字母或数字或下划线
汉字不属于其中。
用 .就行了