在python中,如何在给定起始匹配条件的情况下解析/替换字符串的一部分?

2024-09-30 11:39:48 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有这个字符串

text='bla1;\nbla2;\nbla3;\n#endif\nbla4;'

我想定义一个方法,删除所有“\n”,除非“\n”前面有一个以“#”开头的字符串,或者“\n”后面有“#”,因此该过程的结果应该是:

text2='bla1;bla2;bla3;\n#endif\nbla4;'

有没有一种简单的方法可以在python中使用regex实现这一点

(注意:我是否清楚如何避免\n后跟#,使用负回溯,即r'\n+(?!#))但挑战在于如何识别前面有以#开头的字符串的\n)

挑战是: 如何在python中使用可变长度字符串处理正向查找?


Tags: 方法字符串text定义过程regexendiftext2

热门问题