麻烦高手帮忙解析下这个正则

lzp729 2009-07-07 07:48:57
麻烦高手帮忙解析下, 最好说详细点, 能具体到每个字符最好了, 新手求教,拜托各位了

$pattern = '/\[a@([^"@]*)@([^]"]*)\]/';

这个正则到底怎么在找什么?
还有
php manual里面的很多例子里的正则都以/开头
例如

if (preg_match("/php/is", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}

我想问/符号是什么意思?怎么书上没看到
...全文
25 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzp729 2009-07-08
  • 打赏
  • 举报
回复
没那么简单哦, 看了几篇, 说法都有些出入, 介绍也不完整

<?php
preg_match_all("/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x",
"Call 555-1212 or 1-800-555-1212", $phones);
?>

这个问题没问解答吗?
TOTO42 2009-07-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lzp729 的回复:]
我给的没问题,是phpmyadmin里面直接复制下来的, [^]"]*  这个也是对的, 呵呵 LS的也该重新复习下了
================================================

换个问题
<?php
preg_match_all("/\(?  (\d{3})?  \)?  (?(1)  [\-\s] ) \d{3}-\d{4}/x",
"Call 555-1212 or 1-800-555-1212", $phones);
?>
这个代码我很不理解里面的一句(?(1)  [\-\s] ) 不知道这个是什么意思. 问号?放在小括号里开头有什么意义吗?

TOTO42给的资…
[/Quote]

其实这种资料满大街都是baidu goo打上“正则表达式”五个字。。能出来n条。。所以善用搜索引擎才是王道
lzp729 2009-07-08
  • 打赏
  • 举报
回复
我给的没问题,是phpmyadmin里面直接复制下来的, [^]"]* 这个也是对的, 呵呵 LS的也该重新复习下了
================================================

换个问题
<?php
preg_match_all("/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x",
"Call 555-1212 or 1-800-555-1212", $phones);
?>
这个代码我很不理解里面的一句(?(1) [\-\s] ) 不知道这个是什么意思. 问号?放在小括号里开头有什么意义吗?

TOTO42给的资料不错, 一会去看看, 说不定就可以解决这个问题了,呵呵谢谢
yiwusuo 2009-07-07
  • 打赏
  • 举报
回复
你给的句子:$pattern = '/\[a@([^"@]*)@([^]"]*)\]/';
也有误——
[^]"]*
有问题

-----------------------
yzsou
TOTO42 2009-07-07
  • 打赏
  • 举报
回复
http://www.regexlab.com/zh/regref.htm
介绍得比较详细以供参考

不过其实这种网站有成百上千,只要花个2秒钟baidu google下都能找到
lzp729 2009-07-07
  • 打赏
  • 举报
回复
好了, 我找到原因了, 我看的php and mysql web development只谈了posix正则
perl正则才是常用的....
看的http://www.phpe.net/articles/316.shtml
呵呵

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧