特殊字符的正则表达式

时间:2017-04-12 09:23:01

标签: regex python-3.x unicode

如果您认为应该阻止我提问,欢迎您。

我有一个pdf文件,我运行pdf2txt并使用正则表达式清理它。然而,偶尔有一条线让我感到困惑,并且无法获得正则表达式。它看起来像这样:

123456789101112131415161718192021222324252627282930313233341234567891011121314151617181920212223242526272829303132333439

在数字34和39之间(行的末尾)有一个方框,在上面一行有两个零,在下面一行有零和C.这里没有显示我的问题,所以我想作为一个控制角色,它意味着......就像零空间"。我在这里找不到这种角色:jrgraphix.net或其他unicode集合。

我复制了控制字符并将其放在此处:RegExr并将其解析为红色子弹。在这里:https://regex101.com/(我的#34;声誉"只允许2个链接),它解析为黑色子弹。我在原始PDF文件中找不到红色或黑色子弹。

我也尝试用这样的代码(Python 3)摆脱这一行:

    if '123456789' in line:
        print('found this line')

...没找到这一行。

到目前为止我的正则表达式是:

    line = re.sub(r'\u25a0', '', line)
    line = re.sub(r'\u2022', '', line)
    line = re.sub(r'\u200B', '', line)
    line = re.sub(r'\u200b', '', line)

我的Python代码处理空格:

    elif re.match(r'^\s*$', line):
        pass

你能帮助我如何让正则表达式或Python找到那个角色吗?

1 个答案:

答案 0 :(得分:0)

查找换页符的正则表达式为\f,但是,如果要清除未知字符,也许您可​​能只想定义允许的内容,而不是试图找出所有可能的内容不是..