• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP学习之正则表达式_php基础

php 搞代码 3年前 (2022-01-26) 14次浏览 已收录 0个评论

现在我们大家所说的正则表达式基本上是指兼容Perl风格的正则表达式。POSIX风格的正则表达式基本上没人使用了,所以从PHP5.3起,已经不推荐使用了,可能到PHP的下一个版本就会把相关的函数删除。

关于正则表达式,因为太复杂,所以以后想专看一本正则的书,所以只介绍兼容Perl风格的正则表达式的一些函数。

1. 定界符
定界符表示正则表达式的开始和结尾,一般用斜线(/)表示。在PHP中(其它语言暂时没有测试过),它也可以用其它的非数字字母的字符来代替。如/\d+/和#\d+#的表示同一个正则表达式\d+。同时,也可以用小括号对,中括号对,大括号对做为定界符,如[\d+]。

2. 函数
匹配函数:preg_match(); 以及preg_match_all();
替换函数:preg_replace();
拆分函数:preg_split();
过滤函数:preg_grep();

示例代码:

 <BR>$a = <<< TEXT <BR>aaaaaaa 15 <BR>bbbbbbb 16 <BR>TEXT; <BR>$ret = preg_match(/(\w+) (\d+)/, $a, $match); <BR>// $ret : 1 <BR>// $match : array(aaaaaaa 15′, aaaaaaa, 15′) <br><br>$ret = preg_match_all(/(\w+) (\d+)/, $a, $match); <BR>// $ret : 2 <BR>// $match : array( <BR>// array(aaaaaaa 15′, bbbbbbb 16′), <BR>// array(bbbbbbb, bbbbbbb), <BR>// array(15′, 16′), <BR>// ) <br><br>$ret = preg_match_all(/(\w+) (\d+)/, $a, $match, PREG_SET_ORDER); <BR>// $ret : 2 <BR>// $match : array( <BR>// array(aaaaaaa 15′, bbbbbbb, 15′), <BR>// array(bbbbbbb 16′, bbbbbbb, 16′), <BR>// ) <br><br>$b = preg_replace(/(\w+) (\d+)/, \1, \2′, $a); <BR>// $b : aaaaaaa, 15 <BR>// bbbbbbb, 16′ <br><br>$c = preg_split(/\s/, $a); <BR>// $c : array(aaaaaaa<i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img>, 15′, bbbbbbb, 16′) <br><br>$files = array(aa.txt, bb.xls, cc.txt); <BR>$txtFiles = preg_grep(/.*\.txt/, $files); <BR>// $txtFiles : array(aa.txt, cc.txt) <BR>


参考资料:
PHP程序设计,2003,第四章 字符串,正则表达式


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP学习之正则表达式_php基础
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址