我正在尝试使用单个regEX从下面的行中检索日期。下面字符串中的日期和时间可以更改。
My Birthday is: Thu Jan 12 23:59:59 GMT 2012.
如果我使用此regEX
(?<=My Birthday is: ).+?(?=\.)
它会给我这个。
Thu Jan 12 23:59:59 GMT 2012
但我正在寻找这个......
Thu Jan 12 2012
如何使用与.NET一起使用的单个Regex语句来实现这一目标
答案 0 :(得分:5)
你所遵循的正则表达式如下:
^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?
代替。