Home  >  Article  >  Backend Development  >  请问 关于代码理解的问题

请问 关于代码理解的问题

WBOY
WBOYOriginal
2016-06-23 13:31:53804browse

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

是应该这样吗? 
是的。

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn