regex - How to parse/substitute part of a string given a starting matching condition in python? -
assume have string
text='bla1;\nbla2;\nbla3;\n#endif\nbla4;'
i want define method removes '\n' except if '\n' preceded string starting '#' or '\n' follows '#', result of process should be:
text2='bla1;bla2;bla3;\n#endif\nbla4;'
is there simple way in python using regex?
(note: clear me how avoid \n followed #, using negative lookbehind, i.e. r'\n+(?!#)' challenge how identify \n preceded string starting #)
the challenge is: how deal positive lookbehind variable-length strings in python?
find : (#[a-z]+\\n)|\\n(?!#)
and replace : '\1'
output : bla1;bla2;bla3;\n#endif\nbla4;
demo here : http://regex101.com/r/uo8wh2
this keep \n
newline chars have preceding word starting #
or followed hash.
hth
Comments
Post a Comment