.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')