有没有办法对这些信息进行正则表达式。

发布于 2024-12-11 07:58:47 字数 375 浏览 0 评论 0原文

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

My Birthday is: Thu Jan 12 23:59:59 GMT 2012.

如果我使用这个正则表达式

(?<=My Birthday is: ).+?(?=\.)

它会给我这个。

Thu Jan 12 23:59:59 GMT 2012

但我正在寻找这个..

Thu Jan 12 2012

我如何使用与 .NET 一起使用的单个正则表达式语句来实现这一点

I'm trying to retrieve the date from the line below using a single regEX. The date and time in the string below can change.

My Birthday is: Thu Jan 12 23:59:59 GMT 2012.

If I use this regEX

(?<=My Birthday is: ).+?(?=\.)

It will give me this.

Thu Jan 12 23:59:59 GMT 2012

But I'm looking for this..

Thu Jan 12 2012

How would I accomplish that with a single Regex Statement that works with .NET

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没结果 2024-12-18 07:58:47

您所追求的正则表达式如下所示:

^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? 代替。

The regular expression you're after looks like this:

^My Birthday is: (\w{3} \w{3} \d\d) \d\d:\d\d:\d\d \w{3}( \d{4})\.$

You'll then simply need to join the two captured groups by referencing their respective indexes. I don't know .NET, but it'd look like this in JavaScript:

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

The one thing you may need to change in the regular expression is the first \d\d, depending on how 1–9 are displayed. If they're displayed as 1–9 (rather than 01–09) you'll need to use \d\d? instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文