全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2640|回复: 18
打印 上一主题 下一主题

[Windows VPS] 技术帝进啊,简单小问题!3Q!

[复制链接]
跳转到指定楼层
#
发表于 2012-2-6 12:33:03 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
PHP我想把 if(!preg_match('/\@/',$abc) || !preg_match('/\./',$abc)) 合成一个!preg_match怎么写?不用中间的或||
19#
 楼主| 发表于 2012-2-9 14:54:31 来自手机 | 只看该作者
大神别嫌简单啊,敲两下教教我啊…
18#
发表于 2012-2-7 14:53:04 | 只看该作者
单引号改为双引号试试
17#
发表于 2012-2-6 15:15:52 | 只看该作者
本帖最后由 windywinter 于 2012-2-6 15:19 编辑
  1. if (preg_match('/^[^\@\.]+$/', $abc))
复制代码
16#
发表于 2012-2-6 14:54:08 | 只看该作者
有个就好 发表于 2012-2-6 14:19
这样

这样同样不对 随便举个例子就能推翻
<?php
$abc_arr = array('sdf@','adsf@df.','dsf.','dsfsdf@.@');
foreach($abc_arr as $abc){
    print $abc . ":";
    if(!preg_match('/\@/',$abc) || !preg_match('/\./',$abc)){
       print "1:";
    }
    if(!preg_match('/\@\./',$abc)){
       print "2";
    }
    print "\n";
}

这段代码打印的结果是
sdf@:1:2
adsf@df.:2
dsf.:1:2
dsfsdf@.@:

adsf@df.:2说明对于$abc='adsf@df.'  2个表达式的匹配结果不一样  
15#
发表于 2012-2-6 14:51:00 | 只看该作者
neverno 发表于 2012-2-6 14:03
正则里面要逻辑与,貌似没有啊,只有逻辑或

我是说他原来表达式里的||如果是&&  不是说正则
14#
发表于 2012-2-6 14:19:58 | 只看该作者
  1. if(!preg_match('/\@\./',$abc))
复制代码
这样
13#
发表于 2012-2-6 14:03:13 | 只看该作者
steptodream 发表于 2012-2-6 13:12
这个也不对吧 不信你试 如果他原来的是&& 这样才对

正则里面要逻辑与,貌似没有啊,只有逻辑或
12#
发表于 2012-2-6 14:02:38 | 只看该作者
eslizn 发表于 2012-2-6 13:10
应该是if(!preg_match('/\@|\./',$abc))

感谢指出,多了个反斜杠~
11#
发表于 2012-2-6 13:53:34 | 只看该作者
正则我不会。
10#
发表于 2012-2-6 13:15:49 | 只看该作者
本帖最后由 eslizn 于 2012-2-6 13:16 编辑
steptodream 发表于 2012-2-6 13:12
这个也不对吧 不信你试 如果他原来的是&& 这样才对


我只是纠正6L的错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-15 23:31 , Processed in 0.063431 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表