>백엔드 개발 >PHP 튜토리얼 >请问 关于代码理解的问题

请问 关于代码理解的问题

WBOY
WBOY원래의
2016-06-23 13:31:53826검색

请问 以下 红色代码 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으로 문의하세요.