Есть ли способ, чтобы REGEX эту информацию. - PullRequest
2 голосов
/ 22 октября 2011

Я пытаюсь получить дату из строки ниже, используя один 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

Как бы это сделать с помощью одного оператора Regex, который работает с .NET

1 Ответ

5 голосов
/ 22 октября 2011

Следующее регулярное выражение выглядит следующим образом:

^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? вместо.

...