On 16/07/2013 11:18, Mohan L wrote:
On Tue, Jul 16, 2013 at 2:12 PM, Joshua Landau <jos...@landau.ws <mailto:jos...@landau.ws>> wrote: On 16 July 2013 07:55, Mohan L <l.mohan...@gmail.com <mailto:l.mohan...@gmail.com>> wrote: > > Dear All, > > Here is my script : > > #!/usr/bin/python > import re > > # A string. > logs = "date=2012-11-28 time=21:14:59" > > # Match with named groups. > m = > re.match("(?P<datetime>(date=(?P<date>[^\s]+))\s+(time=(?P<time>[^\s]+)))", > logs) > > # print > print m.groupdict() > > Output: > ======== > > {'date': '2012-11-28', 'datetime': 'date=2012-11-28 time=21:14:59', 'time': > '21:14:59'} > > > Required output : > ================== > > {'date': '2012-11-28', 'datetime': '2012-11-28 21:14:59', 'time': > '21:14:59'} > > need help to correct the below regex > > (?P<datetime>(date=(?P<date>[^\s]+))\s+(time=(?P<time>[^\s]+)))" > > so that It will have : 'datetime': '2012-11-28 21:14:59' instead of > 'datetime': 'date=2012-11-28 time=21:14:59' > > any help would be greatly appreciated Why do you need to do this in a single Regex? Can't you just " ".join(..) the date and time? I using another third party python script. It takes the regex from configuration file. I can't write any code. I have to do all this in single regex.
A capture group captures a single substring. What you're asking is for it to with capture 2 substrings (the date and the time) and then join them together, or capture 1 substring and then remove part of it. I don't know of _any_ regex implementation that lets you do that. -- http://mail.python.org/mailman/listinfo/python-list