+ -
当前位置:首页 → 问答吧 → 高分求正则解释

高分求正则解释

时间:2011-09-21

来源:互联网

高手给予详细解释 谢谢

preg_match('@^.*/(.*)\.php$@',$_SERVER['SCRIPT_NAME'],$pregArr);

$_SERVER['SCRIPT_NAME'] 值是 /text.php 

$pregArr[1] 得出 test  


怎么正则出test的呢。 越详细越好,我很菜的。。。。。

作者: sdm201101   发布时间: 2011-09-21

'@^.*/(.*)\.php$@'

头尾的 @ 是限定符,就是说,中间才是真正的正则。

^.* 以非空字符开头,当然这里是可有也可无,^为以XX开始,.是非空字符(即除空格,换行等等),*就是指前面的可以有,可以无。。。

/ 就是匹配一个 / 了。
(.*) 跟上面的 .* 一样,括号的,后面说。。。
\. 这里是匹配一个点。。。。即 (.php)里的 .
php$ 是以php结尾

$pregArr就是一个数组,$pregArr[1] 里的1 就是指上所说的第一个括号里的内容了。。。
[2] 就是第二个括号里的内容,这里没有。。。。。依此类推。。。。

作者: yangball   发布时间: 2011-09-21

更多更详细的,就要查资料了。。。

手册上说得很详细

作者: yangball   发布时间: 2011-09-21

@^.*/(.*)\.php$@

@ 前后两个@是定界符,告诉程序中间是正则表达式
^ 代表是行首
.* 代表任意字符
/ 匹配/字符
(.*) 代表任意字符并保存
\. 转义. 因为. 在正则中表示任意字符,想匹配.字符要转义
php 匹配 php 字符

最终取的结果是 text

作者: lijpwsw   发布时间: 2011-09-21

就是取到以.php结尾的文件的文件名放到数组中(去掉目录,只取文件名)

作者: ohmygirl   发布时间: 2011-09-21

给你推荐一本书吧 《精通正则表达式》


看两章内容 你就可以理解那个正则了

要的话发给你

网上也可以搜到……

作者: lijpwsw   发布时间: 2011-09-21

看视频教程吧
http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/list_20_6.html
36讲--41讲都是说正则的,简单易懂

MD,怎么感觉我是PHP100的托,老推荐它们的视频

作者: baoxiaohua   发布时间: 2011-09-21

相关阅读 更多