欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

请问 关于代码理解的问题

程序员文章站 2022-05-04 11:37:31
...
请问 以下 红色代码 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

是应该这样吗?
是的。

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