相关疑难解决方法(0)

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

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

\n\n
" and \xe2\x80\x9c\n
Run Code Online (Sandbox Code Playgroud)\n\n

两者之间有非常微妙的区别。目前,我在正则表达式中明确提及这两种类型

\n\n
\\"*\\\xe2\x80\x9c*\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我担心在未来的数据中我可能会得到不同的“类型”引用,而我的正则表达式可能会失败。存在多少种不同类型的报价?有没有办法将它们标准化为一种类型,以便我的正则表达式不会因为看不见的数据而中断?

\n\n

编辑-

\n\n

我的输入数据由 HTML 文件组成,我将 HTML 实体和 URL 转义为 ASCII

\n\n
escaped_line = HTMLParser.HTMLParser().unescape(urllib.unquote(line.decode(\'ascii\',\'ignore\')))\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

编辑2

\n\n

我无法使用替换功能来执行此操作。我尝试了 Replace(\'"\',\'\') 但它不会替换其他类型的引号 \'\xe2\x80\x9c\'。如果我将其添加到另一个替换函数中,它会抛出 NON -ASCII 字符错误。

\n\n

健康)状况

\n\n

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

\n

python regex quotes double-quotes

5
推荐指数
1
解决办法
2628
查看次数

标签 统计

double-quotes ×1

python ×1

quotes ×1

regex ×1