最稳的正则为 ^[ \t]*-+*+,它兼容空格/tab缩进、不误伤行内符号;删后用列编辑统一补2或4空格缩进;嵌套引用需单独匹配如(^>[ \t]+)-+*+。

怎么用正则删掉 Markdown 无序列表的 -、*、+ 前缀
直接用 ^[ \t]*[-+*][ \t]+ 匹配最稳,它能吃掉行首可选缩进 + 列表符号 + 后续分隔空白,不误伤代码块里的 - 或行中符号。别只写 ^-——它会把 line - 123 也干掉;也别漏掉 [ \t]*,否则嵌套列表(如 - item)就删不干净。
为什么 ^[ \t]*[-+*][ \t]+ 比 ^[-+*][ \t]+ 更安全
真实 Markdown 文本常混用空格和 Tab 缩进,尤其从文档/聊天记录复制过来时。前者开头的 [ \t]* 能兼容:
• - item(无缩进)
• - item(两个空格)
• \t\t* item(两个 Tab)
而后者会跳过带缩进的行,导致清理不一致。另外,[ \t]+ 在末尾确保只删「符号后紧邻的空白」,不会连带吃掉后续文本前的对齐空格。
将 Markdown 格式的回复转换为适合 Telegram 的富文本,避免渲染错误。适用于用户偏好 Markdown 但目标平台为 Telegram 的场景。
删完列表标记后,怎么快速补回统一缩进
删光前缀后,原对齐结构大概率塌陷。别手动敲空格,用 Sublime 的列编辑更准:
• 先 Ctrl+Shift+P 输入 Indentation: Convert to Spaces 统一为纯空格
• 再按 Ctrl+H,查找 ^(启用正则),点 Find All
• 按 Ctrl+Shift+L 拆成多光标,用方向键移到每行开头
• 按空格键统一补 2 或 4 个空格(按项目规范定)
注意:如果列表项本身含代码块或引用块,先确认它们没被意外选中——列编辑是全局生效的。
遇到 > 引用嵌套列表怎么办
像 > - item 这种结构,^[ \t]*[-+*][ \t]+ 会失效,因为 ^ 锚定的是整行行首,而 > 已占位。此时得换锚点:
• 查找:(^>[ \t]+)[-+*][ \t]+
• 替换:\1(保留 > + 空白,只删列表符)
• 若有更深嵌套(如 > > + item),正则要相应扩展为 (^>[ \t]+>[ \t]+)[+-*][ \t]+
别试图用一个正则通吃所有嵌套层级——Markdown 解析本就不靠缩进深度,优先保证人眼可读,手动微调两行比写复杂正则更省时间。










