其他分享
首页 > 其他分享> > 在正则表达式中容纳两种类型的引号

在正则表达式中容纳两种类型的引号

作者:互联网

我正在使用正则表达式替换输入字符串中的引号.我的数据包含两种“类型”的引号-

" and “

两者之间有非常细微的差别.目前,我在正则表达式中明确提到了这两种类型

\"*\“*

我担心,尽管在将来的数据中,我的正则表达式可能会因报价的“类型”不同而失败.存在多少种不同类型的报价?有没有办法将它们标准化为一种类型,以使我的正则表达式不会破坏看不见的数据?

编辑-

我的输入数据包含HTML文件,并且正在将HTML实体和URL转义为ASCII

escaped_line = HTMLParser.HTMLParser().unescape(urllib.unquote(line.decode('ascii','ignore')))

其中line指定HTML文件中的每一行.我需要“忽略” ASCII,因为数据库中的所有文件都不具有相同的编码,并且在读取文件之前我不知道编码.

编辑2

我无法使用替换功能来做到这一点.我尝试了replace(””,”),但它没有替换其他类型的引号’“’.如果我将其添加到另一个替换函数中,则会引发非ASCII字符错误.

条件

不允许使用外部库,只能使用本机python库.

解决方法:

我认为Python的regex实现中没有“引号”字符类,因此您必须自己进行匹配.

您可以保留常用引号unicode字符的列表(here’s a list for a good start),并以编程方式构建正则表达式中与引号匹配的部分.

标签:quotes,double-quotes,python,regex
来源: https://codeday.me/bug/20191101/1984318.html