正则表达式匹配所有unicode引号

Bri*_*unt 1 regex unicode quotes character-properties

是否有一个简单的正则表达式来匹配所有unicode引号?或者是否必须像这样手动编码:

quotes = ur"[\"'\u2018\u2019\u201c\u201d]"
Run Code Online (Sandbox Code Playgroud)

谢谢你的阅读.

布赖恩

Tim*_*ker 5

Python不支持Unicode属性,因此你不能使用PiPf属性,所以我猜你的解决方案就好了.

你可能还想考虑一个令人遗憾的使用的"虚引号" - 尖锐的重音(´):\ '\u0060 and\ u00B4`.

然后有guillemets(« » ‹ ›),你也想要那些吗?使用\u00BB\u203A\u00AB\u2039这些.

此外,您的命令有一个小错误:您正在为quotes字符串添加反斜杠(因为您使用的是原始字符串).请改用三引号字符串.

>>> quotes = ur"[\"'\u2018\u2019\u201c\u201d\u0060\u00b4]"
>>> "\\" in quotes
True
>>> quotes
u'[\\"\'\u2018\u2019\u201c\u201d`\xb4]'
>>> quotes = ur"""["'\u2018\u2019\u201c\u201d\u0060\u00b4]"""
>>> "\\" in quotes
False
>>> quotes
u'["\'\u2018\u2019\u201c\u201d`\xb4]'
Run Code Online (Sandbox Code Playgroud)


dan*_*n04 5

引号通常具有Unicode类别Pi(标点符号,初始引用)或Pf(标点符号,最终引用).你必须处理好"中性"引号'"手动.

  • +1:伙计,我忽略了这个.我纠正了我的回答.遗憾的是,Python还不支持Unicode属性.他没有指定Python,但我从他的代码示例和他之前的问题中猜测了这一点. (2认同)