Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
.net 如何使用正则表达式文件名模式XXXX\u YYYYYY\u filename.pdf_.net_Regex - Fatal编程技术网

.net 如何使用正则表达式文件名模式XXXX\u YYYYYY\u filename.pdf

.net 如何使用正则表达式文件名模式XXXX\u YYYYYY\u filename.pdf,.net,regex,.net,Regex,我需要一个RegEx模式的帮助,以便在上传之前验证特定格式的文件名。格式为: XXXX\u YYYY\u anyFileName.extension XXXX是一个长度为10的字母数字客户编号。 YYYY是文档编号,只能是数字。 anyFileName将是最终用户提供的常规文件名。 扩展名将是正在上载的文件的默认扩展名。 我试着这样做是为了测试: [A-Za-z0-9_]+ 但以下模式xxxx.pdf已通过。我不知道如何将下划线设置为必填项。尝试以下操作: ([A-Za-z0-9]{10})_(

我需要一个RegEx模式的帮助,以便在上传之前验证特定格式的文件名。格式为:

XXXX\u YYYY\u anyFileName.extension

XXXX是一个长度为10的字母数字客户编号。 YYYY是文档编号,只能是数字。 anyFileName将是最终用户提供的常规文件名。 扩展名将是正在上载的文件的默认扩展名。 我试着这样做是为了测试:

[A-Za-z0-9_]+

但以下模式xxxx.pdf已通过。我不知道如何将下划线设置为必填项。

尝试以下操作:

([A-Za-z0-9]{10})_([0-9]+)_(.+)\.(.+)
 ^                ^         ^     ^
 |                |         `-----` Any char, at least one
 |                | 
 |                ` A number must appear at least once
 ` only chars within "A-Za-z0-9" are allowed and must appear 10 times
为了强制整个字符串必须与上面的regexp匹配,您可能必须以^作为前缀,以$作为后缀


请在此处尝试:

如果您不想在文件名和扩展名中使用特殊字符,可以使用如下正则表达式:

^[A-Za-z\d]{10}_\d+_[A-Za-z\d]+\.[A-Za-z\d]+$

为什么会被否决?