Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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#2018-09-24 22:42:02.071042000的正则表达式_C#_Regex_Regular Language - Fatal编程技术网

C#2018-09-24 22:42:02.071042000的正则表达式

C#2018-09-24 22:42:02.071042000的正则表达式,c#,regex,regular-language,C#,Regex,Regular Language,目标:需要从以下字符串中提取字符串“2018-09-24 22:42:02”: -rw-rw-rw- 1 rats 38K 2018-09-24 22:42:02.071042000 +0000 /prod/data/automation_sent/20180924/11/20180924_1100600.sps 我尝试了以下reg表达式,但它们似乎不适用于上面的字符串: 未转义的分隔符必须用反斜杠()转义: 改为 \d{4}(?:\/\d{1,2}){2} 但我拨错了弦 \d{4}[-

目标:需要从以下字符串中提取字符串“2018-09-24 22:42:02”:

-rw-rw-rw- 1 rats 38K 2018-09-24 22:42:02.071042000 +0000 /prod/data/automation_sent/20180924/11/20180924_1100600.sps
我尝试了以下reg表达式,但它们似乎不适用于上面的字符串:

未转义的分隔符必须用反斜杠()转义:

改为

\d{4}(?:\/\d{1,2}){2} 
但我拨错了弦

\d{4}[- /.]([1-9]|0[1-9]|1[012])[- /.]([1-9]|0[1-9]|[12][0-9]|3[01])
没有匹配项:

\d{4}$|^\d{4}-((0?\d)|(1[012]))-(((0?|[12])\d)|3[01]) 
不知道我错过了什么。。。欢迎任何帮助

谢谢

这个怎么样

        string input = @"-rw-rw-rw- 1 rats 38K 2018-09-24 22:42:02.071042000 +0000 /prod/data/automation_sent/20180";
        string regex = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";

        var match = Regex.Match(input, regex);
这个怎么样

        string input = @"-rw-rw-rw- 1 rats 38K 2018-09-24 22:42:02.071042000 +0000 /prod/data/automation_sent/20180";
        string regex = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";

        var match = Regex.Match(input, regex);
有一个很好的ISO日期匹配器。您可以利用此正则表达式,但删除
^
&
并用空格替换T

生成的正则表达式是
((?:[1-9][0-9]*)([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])(2[0-3]|[01][0-9]):([0-5][0-9])([0-5][0-9])([0-9]+(Z)
对ISO日期有很好的匹配。您可以利用此正则表达式,但删除
^
&
并用空格替换T


由此产生的regex是
((?:[1-9[0-9][0-9][0-9[0-9[0-9[0-9[0-9][0-4}(1[0-2[1-2[1-9][0-9[0-9][0-9[0-9][0-9[0-9[0-9][0-9][0-4]4})-(1[1[1[1-2[1-2[1-2[1-2[1[1[1[1[1-1[1-1[1[1-1[1[1-1[1-9[1-1-1[1-9[1-1-1-1[1-1[1-1-1[1[1-1-9]1-1-1-1-1-9]1-1-9]1[1[1-9]1[1-9]1[1-9
DateTime.Parse(“-rw rw rw-1 rats 38K 2018-09-24 22:42:02.071042000+0000/prod/data/automation_sent/20180924/11/20180924_1100600.sps”)
?请发布实际的c代码。使用双反斜杠可能是解决问题的一种方法将其作为日期时间进行解析,完成了…使用
字符串。Join(“,s.Split()。Skip(4)。Take(2))。Split('.')[0]
@JeffMercado
DateTime.Parse(“-rw-rw-1 rats 38K 2018-09-24 22:42:02.071042000+0000/prod/data/automation\u sent/20180924/11/20180924\u 1100600.sps”)
?请发布实际的c代码。使用双反斜杠可能是解决问题的一种方法,但它不会匹配预期匹配结束时的亚秒值。这正是我需要的。我可以不用毫秒。TryParseExact无论如何都不能接受FFFFFFFFFFF,它只接受我检查的fff。谢谢!Close,但它不会匹配预期匹配结束时的亚秒值。这正是我所需要的。我可以不使用毫秒。TryParseExact无论如何都不能接受fffffffff,它只接受我检查的fff。谢谢!