我正在尝试将多个连续的换行符后跟一个大写字母转换为“____”,以便我可以解析它们。
例如,
i = "Inc\n\nContact"
i = re.sub(r'([\n]+)([A-Z])+', r"____\2", i)
In [25]: i
Out [25]: 'Inc____Contact'
这个字符串工作正常。我可以稍后使用 ____ 解析它们。
但是它不适用于这个特定的字符串。
i = "(2 months)\n\nML"
i = re.sub(r'([\n]+)([A-Z])+', r"____\2", i)
Out [31]: '(2 months)____L'
它吃了大写字母 M。 我在这里缺少什么?
最佳答案
EDIT 要将多个连续的换行符 (\n)
替换为 ____
,应该这样做:
>>> import re
>>> i = "(2 months)\n\nML"
>>> re.sub(r'(\n+)(?=[A-Z])', r'____', i)
'(2 months)____ML'
(?=[A-Z])
是断言“换行符后跟大写字母”。 REGEX DEMO .
关于python 正则表达式 - 将换行符 (\n) 替换为其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36091633/