Get sentence after pattern with regex python -
in string (example adopted this turorial) want until first following . after generic (year). pattern:
str = 'purple alice@google.com, (2002).blah monkey. (1991).@abc.com blah dishwasher' i think i'm there code not quite yet:
test = re.findall(r'[\(\d\d\d\d\).-]+([^.]*)', str) ... returns: ['com, (2002)', 'blah monkey', ' (1991)', '@abc', 'com blah dishwasher']
the desired output is:
['blah monkey', '@abc']
in other words, want find between year pattern , next dot.
if want every thing between (year). , first . can use this:
\(\d{4}\)\.([^.]*) see live demo.
and explanation here:
"\(\d{4}\)\.([^.]*)"g \( matches character ( literally \d{4} match digit [0-9] quantifier: {4} 4 times \) matches character ) literally \. matches character . literally 1st capturing group ([^.]*) [^.]* match single character not present in list below quantifier: * between 0 , unlimited times, many times possible, giving needed [greedy] . literal character . g modifier: global. matches (don't return on first match)
Comments
Post a Comment