regex - 如何修复 OCR 目录中中间有数字的断线?

标签 regex notepad++ ocr

ORC 目录中有一些断行,在 \t 之后和 \n 之前可能有编号,也可能没有编号。

输入:

    9.1 The Euclidean Group in Two-Dimensional  152
    Space E2
CHAPTER 10: THE LORENTZ AND POINCARÉ GROUPS,    
    AND SPACE-TIME SYMMETRIES   173

如果一个数字夹在两个字母之间(示例中为 152),则它是上一节的页码,应删除。如果后面是另一个数字(下一节的编号),则它是正确的页码(此处为 173),应保留。这是所需的输出:

    9.1 The Euclidean Group in Two-Dimensional Space E2
CHAPTER 10: THE LORENTZ AND POINCARÉ GROUPS, AND SPACE-TIME SYMMETRIES  173

我的尝试:

([a-zA-Z])(\t[0-9]*\n\t)((?![P])[A-Z])

但 npp 一直说找不到文本,尽管它在 https://www.regextester.com 中工作正常。 。如何将其修复为正常?

最佳答案

您可以使用

(\S)\t[0-9]*\R\t+

并替换为 $1(第 1 组值占位符)。

详细信息

  • (\S) - 第 1 组:任何非空白字符
  • \t - 一个选项卡
  • [0-9]* - 0+ 位
  • \R - 换行序列
  • \t+ - 1 个或多个制表符(或 \h+ - 1+ 水平空格)

REGEX DEMO

关于regex - 如何修复 OCR 目录中中间有数字的断线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46984409/

相关文章:

regex - 如何在Notepad++中找到单引号并将其替换为两个单引号?

Notepad++,比较插件安装问题

regex - ls -l -> 按正则表达式对文件进行排序

python - 来自响应对象的文本是否不能很好地使用正则表达式?

r - 从文本中提取多个关键字并打印在数据框中

notepad++ - 有什么办法可以在任何文本编辑器中做到这一点?

android - 将图像发送到 Node 服务器并调用 OCR microsoft vision API

java - 测试 CCSN 示例代码

algorithm - 如何从汉字中提取笔划

javascript - 正则表达式 (? :\s|^)@ do?