import re
test_str = ( "\n "
" OSPF Process 1 with Router ID 1.1.1.1\n "
" Area: 0.0.0.11\n "
" Link State Database \n \n \n "
"some textxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n \n "
" OSPF Process 1 with Router ID 2.1.1.1\n "
" Area: 0.0.0.12\n "
" Link State Database \n \n "
"some textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n \n \n "
" OSPF Process 1 with Router ID 2.2.2.2\n "
" Area: 0.0.0.33\n "
" Link State Database \n \n "
"some textxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n "
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" )
pattern = r"^[ \t ]*OSPF Process \d + with Router ID \d +(?:\. \d +){3}\s *Area: \d +(?:\. \d +){3}\s *Link State Database\s *(?:\n |$)"
res = re .sub ( pattern, "" , test_str, 0 , re .MULTILINE )
print ( res)
aW1wb3J0IHJlCgp0ZXN0X3N0ciA9ICgiXG4iCiAgICAgICAgICAgICIgICAgIE9TUEYgUHJvY2VzcyAxIHdpdGggUm91dGVyIElEIDEuMS4xLjFcbiIKICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgQXJlYTogMC4wLjAuMTFcbiIKICAgICAgICAgICAgIiAgICAgICAgIExpbmsgU3RhdGUgRGF0YWJhc2UgXG5cblxuIgogICAgICAgICAgICAic29tZSB0ZXh0eHh4eHh4eHh4eHh4eHh4eFxuIgogICAgICAgICAgICAieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhcbiIKICAgICAgICAgICAgInh4eHh4eHh4eHh4eHh4eHh4eHh4eFxuIgogICAgICAgICAgICAieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhcbiIKICAgICAgICAgICAgInh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhcblxuIgogICAgICAgICAgICAiICAgICAgICAgT1NQRiBQcm9jZXNzIDEgd2l0aCBSb3V0ZXIgSUQgMi4xLjEuMVxuIgogICAgICAgICAgICAiICAgICAgICAgICAgICAgICBBcmVhOiAwLjAuMC4xMlxuIgogICAgICAgICAgICAiICAgICAgICAgTGluayBTdGF0ZSBEYXRhYmFzZSBcblxuIgogICAgICAgICAgICAic29tZSB0ZXh0eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhcbiIKICAgICAgICAgICAgInh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4XG4iCiAgICAgICAgICAgICJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4XG5cblxuIgogICAgICAgICAgICAiICAgICBPU1BGIFByb2Nlc3MgMSB3aXRoIFJvdXRlciBJRCAyLjIuMi4yXG4iCiAgICAgICAgICAgICIgICAgICAgICAgICAgICAgIEFyZWE6IDAuMC4wLjMzXG4iCiAgICAgICAgICAgICIgICAgICAgICBMaW5rIFN0YXRlIERhdGFiYXNlIFxuXG4iCiAgICAgICAgICAgICJzb21lIHRleHR4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhcbiIKICAgICAgICAgICAgInh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4XG4iCiAgICAgICAgICAgICJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgiKQpwYXR0ZXJuID0gciJeWyBcdF0qT1NQRiBQcm9jZXNzIFxkKyB3aXRoIFJvdXRlciBJRCBcZCsoPzpcLlxkKyl7M31ccypBcmVhOiBcZCsoPzpcLlxkKyl7M31ccypMaW5rIFN0YXRlIERhdGFiYXNlXHMqKD86XG58JCkiCgpyZXMgPSByZS5zdWIocGF0dGVybiwgIiIsIHRlc3Rfc3RyLCAwLCByZS5NVUxUSUxJTkUpCnByaW50KHJlcyk=