2018-09-24 22:42:02.071042000 的 C# 正则表达式
C# regular expression for 2018-09-24 22:42:02.071042000
目标:需要从下面的字符串中提取字符串“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
我尝试了以下正则表达式,但它们似乎不适用于我上面的字符串:
未转义的定界符必须用反斜杠 () 转义:
\d{4}(?:/\d{1,2}){2}
改为
\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);
https://www.regextester.com/97766 有一个很好的 ISO 日期匹配器。您可以利用此正则表达式,但删除 ^
和 &
并将 T 替换为白色 space.
生成的正则表达式是 (-?(?:[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)?
目标:需要从下面的字符串中提取字符串“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
我尝试了以下正则表达式,但它们似乎不适用于我上面的字符串:
未转义的定界符必须用反斜杠 () 转义:
\d{4}(?:/\d{1,2}){2}
改为
\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);
https://www.regextester.com/97766 有一个很好的 ISO 日期匹配器。您可以利用此正则表达式,但删除 ^
和 &
并将 T 替换为白色 space.
生成的正则表达式是 (-?(?:[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)?