Regular expression for a Python Dict.

7 views (last 30 days)
Ajpaezm on 10 Nov 2018
Commented: Walter Roberson on 10 Nov 2018
Hey guys,
I have a python dict that I have turned into a string using char(values()) command, the outcome after that is the following:
exp = 'dict_values([8590932455, 8590922136, 8590923186, 21640072856, 8590965080])'
I've been trying to get a regular expression that would allow me to acquire all the long numbers (8590932455, 8590922136, ..., 8590937754).
I tried something like this:
test = regexp(exp, '(\d+)', 'match');
And this works... but only when the string has only numbers. What if I had something like a mixture of letters and numbers (A1B2C3), or only letters (AJASNJASBAVENQI)? How can I make my regular expression work for all those 3 cases simultaneously?
Thanks in advance.
Ajpaezm on 10 Nov 2018
THis gets me pretty close to what I'm looking for, if not for those "dict" and "values" string (which I can comfortably get rid of using strrep).
cellStr = regexp(cellStr,'[A-Za-z0-9]+','match');
Walter Roberson
Walter Roberson on 10 Nov 2018
regexp with 'split' on comma
However if dictionary entries include letters then perhaps they are quoted strings in which case you need to be more careful especially if they could happen to contain comma or quote marks

Sign in to comment.

Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!