import re
s = "mandatory NORMAL\r \n P1000 NONE\r \n of NONE\r \n coastal NONE\r \n 35 NONE \r \n was NONE\r \n ordered \r \n . NONE\r \n With NORMAL\r \n the NONE\r \n typhoon \r \n out NONE\r \n of NONE\r \n the NONE\r \n country NORMAL\r \n local NORMAL\r \n governments \r \n 1000,000 NORMAL"
words = [ ]
def repl( m) :
words.append ( m.group ( 1 ) )
if m.group ( 2 ) :
return "{} NUMBER" .format ( m.group ( 1 ) )
return m.group ( 1 )
res = re .sub ( r"([^\s 0-9]*[0-9]\S *)(\s +\w +)?" , repl, s)
print ( "Result: {}" .format ( res) )
print ( "Words: {}" .format ( ", " .join ( words) ) )
aW1wb3J0IHJlCnMgPSAibWFuZGF0b3J5IE5PUk1BTFxyXG5QMTAwMCBOT05FXHJcbm9mIE5PTkVcclxuY29hc3RhbCBOT05FXHJcbjM1IE5PTkUgXHJcbndhcyBOT05FXHJcbm9yZGVyZWQgXHJcbi4gTk9ORVxyXG5XaXRoIE5PUk1BTFxyXG50aGUgTk9ORVxyXG50eXBob29uIFxyXG5vdXQgTk9ORVxyXG5vZiBOT05FXHJcbnRoZSBOT05FXHJcbmNvdW50cnkgTk9STUFMXHJcbmxvY2FsIE5PUk1BTFxyXG5nb3Zlcm5tZW50cyBcclxuMTAwMCwwMDAgTk9STUFMIgp3b3JkcyA9IFtdCmRlZiByZXBsKG0pOgoJd29yZHMuYXBwZW5kKG0uZ3JvdXAoMSkpCglpZiBtLmdyb3VwKDIpOgoJCXJldHVybiAie30gTlVNQkVSIi5mb3JtYXQobS5ncm91cCgxKSkKCXJldHVybiBtLmdyb3VwKDEpCgkKcmVzID0gcmUuc3ViKHIiKFteXHMwLTldKlswLTldXFMqKShccytcdyspPyIsIHJlcGwsIHMpCnByaW50KCJSZXN1bHQ6IHt9Ii5mb3JtYXQocmVzKSkKcHJpbnQoIldvcmRzOiB7fSIuZm9ybWF0KCIsICIuam9pbih3b3JkcykpKQ==