import re
def extract_all_after_pattern( search_after_rx, reg, text) :
search_after = re .search ( search_after_rx, text)
if search_after:
print ( f"Found at {search_after.start()}, searching from {len(search_after.group())}, i.e. in '{text[search_after.end()+1:]}'" )
return reg.findall ( text, search_after.end ( ) +1 )
else :
return [ ]
text = "we have a Newliner Chatacter in 10000 the Middle of the sentence"
search_after_rx = r'\b a\b ' # Or, r'a\s', r'\sa\s', r'(?<!\S)a(?!\S)', etc.
reg = re .compile ( r'\w +' )
print ( extract_all_after_pattern( search_after_rx, reg, text) )
aW1wb3J0IHJlCgpkZWYgZXh0cmFjdF9hbGxfYWZ0ZXJfcGF0dGVybihzZWFyY2hfYWZ0ZXJfcngsIHJlZywgdGV4dCk6CiAgICBzZWFyY2hfYWZ0ZXIgPSByZS5zZWFyY2goc2VhcmNoX2FmdGVyX3J4LCB0ZXh0KQogICAgaWYgc2VhcmNoX2FmdGVyOgogICAgICAgIHByaW50KGYiRm91bmQgYXQge3NlYXJjaF9hZnRlci5zdGFydCgpfSwgc2VhcmNoaW5nIGZyb20ge2xlbihzZWFyY2hfYWZ0ZXIuZ3JvdXAoKSl9LCBpLmUuIGluICd7dGV4dFtzZWFyY2hfYWZ0ZXIuZW5kKCkrMTpdfSciKQogICAgICAgIHJldHVybiByZWcuZmluZGFsbCh0ZXh0LCBzZWFyY2hfYWZ0ZXIuZW5kKCkrMSkKICAgIGVsc2U6CiAgICAgICAgcmV0dXJuIFtdCiAgICAKdGV4dCA9ICJ3ZSBoYXZlIGEgTmV3bGluZXIgQ2hhdGFjdGVyIGluIDEwMDAwIHRoZSBNaWRkbGUgb2YgdGhlIHNlbnRlbmNlIgpzZWFyY2hfYWZ0ZXJfcnggPSByJ1xiYVxiJyAjIE9yLCByJ2FccycsIHInXHNhXHMnLCByJyg/PCFcUylhKD8hXFMpJywgZXRjLgpyZWcgPSByZS5jb21waWxlKHInXHcrJykKcHJpbnQoZXh0cmFjdF9hbGxfYWZ0ZXJfcGF0dGVybihzZWFyY2hfYWZ0ZXJfcngsIHJlZywgdGV4dCkp
stdout
Found at 8, searching from 1, i.e. in 'Newliner Chatacter in 10000 the Middle of the sentence'
['Newliner', 'Chatacter', 'in', '10000', 'the', 'Middle', 'of', 'the', 'sentence']