【发布时间】:2016-11-28 04:01:39
【问题描述】:
我找到了这个出色的指南:http://www.regular-expressions.info/unicode.html#category,它提供了一些关于如何将 非 字母与以下正则表达式匹配的提示:
\P{L}
但是这个正则表达式也会考虑非字母 à 编码为 U+0061 U+0300 (如果我理解得很好的话)。
例如在python中使用regex模块如下sn-p:
all_letter_doc = regex.sub(r'\P{L}', ' ', doc)
将purè 转换为pur
在指南中提供了如何将所有字母与以下内容匹配:
\p{L}\p{M}*+
实际上我需要否定它,但我不知道如何获得它。
【问题讨论】:
-
尝试
ur'\P{L}'并替换为u' '。如果你想用空格替换除字母和变音符号以外的所有字符,你需要[^\p{L}\p{M}]+regex -
很好,只需在答案中解释它为什么有效,我会接受。谢谢!
-
你使用的是 Python 2.x 吗?
标签: python regex python-2.7 unicode regex-negation