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

标签 python regex quotes double-quotes

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

" and “

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

\"*\“*

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

编辑 -

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

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

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

编辑2

我无法使用替换功能这样做。我尝试了 replace('"','') 但它没有替换其他类型的引号 '“'。如果我将它添加到另一个替换函数中,它会抛出非 ASCII 字符错误。

条件

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

最佳答案

我认为 Python 的正则表达式实现中没有“引号”字符类,因此您必须自己进行匹配。

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

关于python - 在正则表达式中容纳两种类型的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860400/

相关文章:

php - 为什么带单引号的字符串在插入数据库时​​会引发错误?

python - 如何在 python 中绘制 mysql 数据?

python - 使用 candlestick_ohlc 显示 csv

java - 正则表达式: quantifying a non-capturing group

JavaScript:在字符串中搜索字符串

javascript - NodeJS/MySQL 查询数据 url 中的引号

python - 如何使用 Pyparsing 解析嵌套函数调用?

python - 没有客户端/服务器的 key : value store in Python for possibly 100 GB of data,

regex - Grep 第一个八位字节中只有 1 位数字的 IP 地址

javascript - 使用 Spark View 引擎的 View 数据调用参数包含引号的 javascript 函数时出现问题