最近用paddle做了个字符识别的应用,具体说是将扫描版的pdf拿去做字符识别,然后将识别结果按一定格式写入Excel,中间有个步骤需要用正则表达式提取出目录,我选用的匹配目录的正则表达式如下
ref = r'[0-9]+[\s]*[\u4e00-\u9fa5|\u3001]'
但发现匹配到的目录缺少7
检查字符识别结果如下
我在下面又打了一行,发现这个7的确不对劲,起初以为将7检测成了这个很类似7的字符,实际上不是7,所以用[0-9]无法匹配到,但复制到PyCharm做测试时,发现这个7(string1)又过于标准
查看其编码
print('7'.encode('unicode-escape'))
print('7'.encode('unicode-escape'))
输出:
b'7'
b'\\uff17'
发现这个"7"实际上是全角的中文字符7,所以匹配失败,请教公司前辈后,这是我对全半角起源的理解
这也就涉及一个问题,在进行字符识别的过程中,如何对全半角进行特殊处理