# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^(.*):\s *Bus Number: Departure\s *\n Bus code:\s *([^ ]+)\s ([^ ]+)\s ([^\n ]+)[ \t ]*(?:\n |$)((?:[^\n ]+(?:\n |$))+)?"
test_str = ( "KPN_Sleeper: Bus Number: Departure \n "
"Bus code: Kpn-866489 KA-01-7233 Bangalore dfdf\n "
"AC Sleeper/56 Seats\n "
"24 Seats booked \n \n "
"SRS: Bus Number: Departure \n "
"Bus code: SRS-5858 KA-31-5985 Bangalore dfdf dfd\n \n \n "
"SAM: Bus Number: Departure \n "
"Bus code: SAM-0077 TN-23-0777 Chennai \n "
"asdfadf ;kasdjlfads;f lkadsjf" )
matches = re .finditer ( regex, test_str, re .MULTILINE )
for match in matches:
print ( "Bus Name: " +match.group ( 1 ) +"Bus Code: " +match.group ( 2 ) +" Bus No: " +match.group ( 3 ) +" Departure: " +match.group ( 4 ) )
IyBjb2Rpbmc9dXRmOAojIHRoZSBhYm92ZSB0YWcgZGVmaW5lcyBlbmNvZGluZyBmb3IgdGhpcyBkb2N1bWVudCBhbmQgaXMgZm9yIFB5dGhvbiAyLnggY29tcGF0aWJpbGl0eQoKaW1wb3J0IHJlCgpyZWdleCA9IHIiXiguKik6XHMqQnVzIE51bWJlcjogRGVwYXJ0dXJlXHMqXG5CdXMgY29kZTpccyooW14gXSspXHMoW14gXSspXHMoW15cbl0rKVsgXHRdKig/OlxufCQpKCg/OlteXG5dKyg/OlxufCQpKSspPyIKCnRlc3Rfc3RyID0gKCJLUE5fU2xlZXBlcjogQnVzIE51bWJlcjogRGVwYXJ0dXJlIFxuIgoJIkJ1cyBjb2RlOiBLcG4tODY2NDg5IEtBLTAxLTcyMzMgQmFuZ2Fsb3JlIGRmZGZcbiIKCSJBQyBTbGVlcGVyLzU2IFNlYXRzXG4iCgkiMjQgU2VhdHMgYm9va2VkIFxuXG4iCgkiU1JTOiBCdXMgTnVtYmVyOiBEZXBhcnR1cmUgXG4iCgkiQnVzIGNvZGU6IFNSUy01ODU4IEtBLTMxLTU5ODUgQmFuZ2Fsb3JlIGRmZGYgZGZkXG5cblxuIgoJIlNBTTogQnVzIE51bWJlcjogRGVwYXJ0dXJlIFxuIgoJIkJ1cyBjb2RlOiBTQU0tMDA3NyBUTi0yMy0wNzc3IENoZW5uYWkgXG4iCgkiYXNkZmFkZiA7a2FzZGpsZmFkcztmIGxrYWRzamYiKQoKbWF0Y2hlcyA9IHJlLmZpbmRpdGVyKHJlZ2V4LCB0ZXN0X3N0ciwgcmUuTVVMVElMSU5FKQoKCmZvciBtYXRjaCBpbiBtYXRjaGVzOgoJcHJpbnQoIkJ1cyBOYW1lOiAiK21hdGNoLmdyb3VwKDEpKyJCdXMgQ29kZTogIittYXRjaC5ncm91cCgyKSsiIEJ1cyBObzogIittYXRjaC5ncm91cCgzKSsiIERlcGFydHVyZTogIittYXRjaC5ncm91cCg0KSkKCg==