Maison  >  Article  >  développement back-end  >  请问 关于代码理解的问题

请问 关于代码理解的问题

WBOY
WBOYoriginal
2016-06-23 13:31:53805parcourir

请问 以下 红色代码 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

是应该这样吗? 
是的。

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn