Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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 有没有办法将这些信息正则化。_.net_Regex_Regex Negation - Fatal编程技术网

.net 有没有办法将这些信息正则化。

.net 有没有办法将这些信息正则化。,.net,regex,regex-negation,.net,Regex,Regex Negation,我试图用一个正则表达式从下面的行中检索日期。以下字符串中的日期和时间可以更改 My Birthday is: Thu Jan 12 23:59:59 GMT 2012. 如果我用这个正则表达式 (?<=My Birthday is: ).+?(?=\.) 但我在找这个 Thu Jan 12 2012 使用与.NET一起工作的单个正则表达式语句,我将如何实现这一点?您所使用的正则表达式如下所示: ^My Birthday is: (\w{3} \w{3} \d\d) \d\d:\d\d

我试图用一个正则表达式从下面的行中检索日期。以下字符串中的日期和时间可以更改

My Birthday is: Thu Jan 12 23:59:59 GMT 2012.
如果我用这个正则表达式

(?<=My Birthday is: ).+?(?=\.)
但我在找这个

Thu Jan 12 2012

使用与.NET一起工作的单个正则表达式语句,我将如何实现这一点?您所使用的正则表达式如下所示:

^My Birthday is: (\w{3} \w{3} \d\d) \d\d:\d\d:\d\d \w{3}( \d{4})\.$
然后,您只需要通过引用两个捕获的组各自的索引来连接它们。我不知道.NET,但它在JavaScript中看起来是这样的:

text.replace(/(\w{3} \w{3} \d\d) \d\d:\d\d:\d\d \w{3}( \d{4})\.$/, '$1$2')

您可能需要更改正则表达式中的第一个
\d\d
,具体取决于1–9的显示方式。如果它们显示为1到9(而不是01到09),则需要使用<代码> \d \d /<代码>。

如果您对文本的生成有控制,请考虑使用具有所需格式的日期格式化程序。如果您必须按照给定的方式处理字符串,您可以将这两个部分正则化并组合在一起,或者将已提取的字符串从中间删除时间部分。谢谢Ray,我按照您的建议将此日期格式化程序应用到了“ddd MMM dd HH:mm:ss GMT yyyy”,效果非常好。
text.replace(/(\w{3} \w{3} \d\d) \d\d:\d\d:\d\d \w{3}( \d{4})\.$/, '$1$2')