Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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
正则表达式C#:检查包含日期和下划线的文件名_C#_Regex - Fatal编程技术网

正则表达式C#:检查包含日期和下划线的文件名

正则表达式C#:检查包含日期和下划线的文件名,c#,regex,C#,Regex,我需要检查文件名的语法,以便处理它并排除与表达式不匹配的文件 文件名必须如下所示: (2个字符的字母或数字)\ uu(一些字符的字母和数字)\ uuu(YYYY-MM-dd-HH-SS-MM).csv 最后一部分是日期 在中间我们有两个下划线 你能帮我解决这个问题吗?我对正则表达式一点也不熟悉,我做的一些测试也不好 非常感谢:)如果字符串仅包含文件名,则这是适合您请求的正则表达式 ^.{2}_.+__\d{4}(?:-\d{2}){5}.csv$ 例如,如果你想从一个较长的字符串中捕获它 (.

我需要检查文件名的语法,以便处理它并排除与表达式不匹配的文件

文件名必须如下所示:

(2个字符的字母或数字)\ uu(一些字符的字母和数字)\ uuu(YYYY-MM-dd-HH-SS-MM).csv

最后一部分是日期
在中间我们有两个下划线

你能帮我解决这个问题吗?我对正则表达式一点也不熟悉,我做的一些测试也不好


非常感谢:)

如果字符串仅包含文件名,则这是适合您请求的正则表达式

^.{2}_.+__\d{4}(?:-\d{2}){5}.csv$
例如,如果你想从一个较长的字符串中捕获它

(.{2}_.+__\d{4}(?:-\d{2}){5}.csv)

如果您在创建正则表达式时遇到困难,我可以推荐您看看。

我已经创建了一些示例。请在下面找到它将为您工作,您也可以根据您的要求修改

例如:
(22)-(ww)-(aa).csv

^[(\[][a-zA-Z0-9]{2}[)\]]+(-[(\[][a-zA-Z0-9]{2}[)\]]+)+(-[(\[][a-zA-Z0-9]{2}[)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]([1-9]|([012][0-9])|(3[01]))-([0]{0,1}[1-9]|1[012])-\d\d\d\d [012]{0,1}[0-9]:[0-6][0-9][)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]19\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(-)(([0-1][0-9])|(2[0-3]))-([0-5][0-9])-([0-5][0-9])[)\]]+.csv)$
例如
(22)uww)w01-12-2018 19:20.csv

^[(\[][a-zA-Z0-9]{2}[)\]]+(-[(\[][a-zA-Z0-9]{2}[)\]]+)+(-[(\[][a-zA-Z0-9]{2}[)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]([1-9]|([012][0-9])|(3[01]))-([0]{0,1}[1-9]|1[012])-\d\d\d\d [012]{0,1}[0-9]:[0-6][0-9][)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]19\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(-)(([0-1][0-9])|(2[0-3]))-([0-5][0-9])-([0-5][0-9])[)\]]+.csv)$
例如:
(22)uww)ww(1999-12-31-23-59-59)。csv

^[(\[][a-zA-Z0-9]{2}[)\]]+(-[(\[][a-zA-Z0-9]{2}[)\]]+)+(-[(\[][a-zA-Z0-9]{2}[)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]([1-9]|([012][0-9])|(3[01]))-([0]{0,1}[1-9]|1[012])-\d\d\d\d [012]{0,1}[0-9]:[0-6][0-9][)\]]+.csv)$
^[(\[][a-zA-Z0-9]{2}[)\]]+(_[(\[][a-zA-Z0-9]{2}[)\]]+)+(_[(\[]19\d{2}(-|\/)((0[1-9])|(1[0-2]))(-|\/)((0[1-9])|([1-2][0-9])|(3[0-1]))(-)(([0-1][0-9])|(2[0-3]))-([0-5][0-9])-([0-5][0-9])[)\]]+.csv)$

我建议你参考这个网址,它将有助于学习以及你可以找到更多的例子。谢谢

到目前为止你都尝试了什么,你到底被困在哪里了?您已经尝试过任何模式吗?实际文件名中是否存在多个
,或者它们仅用于说明不同的文件名部分?