Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php正则表达式,匹配模式?_Php_Regex - Fatal编程技术网

Php正则表达式,匹配模式?

Php正则表达式,匹配模式?,php,regex,Php,Regex,我想做一个正则表达式来匹配这个模式 长度必须为40个字符 只能包含字母和数字 必须不包含空格 不区分大小写 到目前为止,我已经想出了这个办法,但它不起作用 /^[0-9a-f]+$/i 谢谢试试这个正则表达式: /^[\da-z]{40}$/i 如果您确实只想要字母a-f,请使用: /^[\da-f]{40}$/i 我们应该做到这一点。花括号中的数字定义了字符的数量。试试这个:/^[0-9a-z]{40,40}$/i\w也应该匹配下划线(),我认为OP不需要下划线。{40,40}可以用{4

我想做一个正则表达式来匹配这个模式

长度必须为40个字符

只能包含字母和数字

必须不包含空格

不区分大小写

到目前为止,我已经想出了这个办法,但它不起作用

/^[0-9a-f]+$/i
谢谢

试试这个正则表达式:

/^[\da-z]{40}$/i
如果您确实只想要字母a-f,请使用:

/^[\da-f]{40}$/i

我们应该做到这一点。花括号中的数字定义了字符的数量。

试试这个:
/^[0-9a-z]{40,40}$/i
\w
也应该匹配下划线(
),我认为OP不需要下划线。
{40,40}
可以用
{40}代替
。大括号之间的单个数字表示必须匹配的精确数字:)。啊,好的,谢谢,这就是我出错的地方,谢谢
A-f
位是奇数。你不想从G到Z匹配吗?您正在尝试匹配十六进制数字吗?如果是这样,请注意十六进制数字的最大值是e(十进制15),而不是f(十六进制16是10)。@GarrettAlbright:实际上,f是15…哦现在我依靠我的第三只手,我知道你是对的。那太尴尬了。
/^[0-9a-f]{40}$/i