请问 关于代码理解的问题

原创
2016-06-23 13:31:53 590浏览

请问 以下 红色代码 preg_match('/[^a-z0-9_]/i', $act) 应该怎么理解呢? 麻烦会的朋友帮忙回复下,先谢啦


$act = Get('act');
if (!isset($act{0})){
$act = 'pa';
} elseif (preg_match('/[^a-z0-9_]/i', $act)){
exit;
}


回复讨论(解决方案)

/[^a-z0-9_]/i
匹配 字母、数字、下划线 以外的字符

preg_match('/[^a-z0-9_]/i', $act

preg_match 是php正则匹配方法
'/[^a-z0-9_]/i' 是匹配的正则表达式
$act 是用于检查匹配的字符串

正则表达式说明
a-z 表示匹配所有小写字母
0-9 表示匹配数字0~9
_ 表示匹配下划线

整句意思是在判断$act是否由小写字母或数字或下划线组成,如果是为true,否则为false

请问 以下 红色代码 preg_match('/[^a-z0-9_]/i', $act) 应该怎么理解呢? 麻烦会的朋友帮忙回复下,先谢啦


$act = Get('act');
if (!isset($act{0})){
$act = 'pa';
} elseif (preg_match('/[^a-z0-9_]/i', $act)){
exit;
}



谢谢 xuzuning 版主的回复

/[^a-z0-9_]/i
匹配 字母、数字、下划线 以外的字符



谢谢 fdipzone 的回复
我基本上明白这段代码的意思了。
但是我还有一个疑问:

整句意思是在判断$act是否由小写字母或 大写字母或数字或下划线组成,如果是为true,否则为false
因为 正则表达式后面是 /i

是应该这样吗?

preg_match('/[^a-z0-9_]/i', $act

preg_match 是php正则匹配方法
'/[^a-z0-9_]/i' 是匹配的正则表达式
$act 是用于检查匹配的字符串

正则表达式说明
a-z 表示匹配所有小写字母
0-9 表示匹配数字0~9
_ 表示匹配下划线

整句意思是在判断$act是否由小写字母或数字或下划线组成,如果是为true,否则为false



谢谢 fdipzone 版主的回复
我基本上明白这段代码的意思了。
但是我还有一个疑问:

整句意思是在判断$act是否由小写字母或 大写字母或数字或下划线组成,如果是为true,否则为false
因为 正则表达式后面是 /i

是应该这样吗?

if (preg_match('/[^a-z0-9_]/i', $act)) {
exit;
}
如果 $act 含有字母、数字、下划线 以外的字符,则退出


preg_match('/[^a-z0-9_]/i', $act

preg_match 是php正则匹配方法
'/[^a-z0-9_]/i' 是匹配的正则表达式
$act 是用于检查匹配的字符串

正则表达式说明
a-z 表示匹配所有小写字母
0-9 表示匹配数字0~9
_ 表示匹配下划线

整句意思是在判断$act是否由小写字母或数字或下划线组成,如果是为true,否则为false



谢谢 fdipzone 版主的回复
我基本上明白这段代码的意思了。
但是我还有一个疑问:

整句意思是在判断$act是否由小写字母或 大写字母或数字或下划线组成,如果是为true,否则为false
因为 正则表达式后面是 /i

是应该这样吗?
是的。

楼主可以查找学习简单的正则。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。