Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regex to extract date time from given string

Tags:

c#

regex

I want to extract date from the string through regex.

String : log-bb-2014-02-12-12-06-13-diag

How to do it?

like image 729
BAPSDude Avatar asked Feb 12 '14 09:02

BAPSDude


3 Answers

Try this

(\d+)[-.\/](\d+)[-.\/](\d+)

Regex Demo.

It will match all date formats

like image 149
Vignesh Kumar A Avatar answered Nov 18 '22 15:11

Vignesh Kumar A


Here something to start:

string s = "log-bb-2014-02-12-12-06-13-diag";
Regex r = new Regex(@"\d{4}-\d{2}-\d{2}-\d{2}-\d{2}-\d{2}");
Match m = r.Match(s);
if(m.Success)
{
    DateTime dt = DateTime.ParseExact(m.Value, "yyyy-MM-dd-hh-mm-ss", CultureInfo.InvariantCulture);
}
like image 35
Alberto Avatar answered Nov 18 '22 13:11

Alberto


Considering your date to be just 2014-02-12 i.e. 12th feb 2014.I hev written the below code to extract that part using ruby

str = 'log-bb-2014-02-12-12-06-13-diag'

str.scan(/\d{4}.\d{2}.\d{2}/)

will return ["2014-02-12"]

regex is written within two /

\d means any integer, {} curly braces with any integer means number of times it has been repeated, . means any character. Here I have used it for -

like image 3
aelor Avatar answered Nov 18 '22 14:11

aelor