Matlab using regexp function i want to parse string and data
1 view (last 30 days)
Show older comments
Life is Wonderful
on 21 May 2019
Edited: per isakson
on 25 May 2019
Hi
I have a string :"2019-05-10T21:42:59.980043+00:00 ERR kernel: [ 82.127095] sof-audio-pci 0000:00:1f.3: error: can't find message header 0x0"
I want to parse the data Like using regexp
ERR_Kernel = [82]
sof-audio-pci = 0000:00:1f.3
error.can't find message header = 0x0
Thanks
4 Comments
Walter Roberson
on 22 May 2019
Unfortunately time that includes timezone offset is not enough to specify which time zone should be used. Considering that the time zone offset is 00:00 then can we assume UTC?
Accepted Answer
Bob Thompson
on 22 May 2019
There are a few things I notice here.
1) I have edited your patterns so they should capture what you're looking for.
2) It seems like you don't have any indexing on 'tokens' in your while loop. This is not necessarily a problem except when you have more than one set of values able to be returned for a single tline. You should index the different possible token results.
3) It seems like you just want the numbers from the different lines, not the text themselves. To do this just use 'tokens' instead of 'match' in your regexp command. Also, be sure to change your tokens variable name to something else to prevent any naming errors.
4) What is the purpose of pattern3? You don't keep any of the results for later use, so why bother finding it?
pattern1 = 'ERR kernel:\s.\s*(\d+.\d+).';
pattern2 = 'sof-audio-pci (\d+.\d+.\d\w.\d)';
pattern4 = 'header (\d\w\d)';
4 Comments
Bob Thompson
on 24 May 2019
I don't know how much I personally will be able to help with this matter. I would suggest posting a new question outlining your desire for help with the plotting.
More Answers (0)
See Also
Categories
Find more on Whos in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!