gpt4 book ai didi

python - 正则表达式匹配所有非字母,不包括变音符号(python)

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:31 25 4
gpt4 key购买 nike

我找到了这个优秀的指南:http://www.regular-expressions.info/unicode.html#category这给出了一些关于如何将 non 字母与以下正则表达式匹配的提示:

\P{L}

但是这个正则表达式也会考虑非字母 à 编码为 U+0061 U+0300(如果我理解得很好的话)。例如使用 regex python 中的模块以下代码段:

all_letter_doc = regex.sub(r'\P{L}', ' ', doc)

purè 转换为 pur

指南中提供了如何将所有字母与以下内容匹配:

\p{L}\p{M}*+

在实践中我需要否定它,但我不知道如何获得它。

最佳答案

由于您使用的是 Python 2.x,您的 r'\P{L}' 是一个字节字符串,而您的输入是 Unicode。您需要将模式设为 Unicode 字符串。查看PyPi regex reference :

If neither the ASCII, LOCALE nor UNICODE flag is specified, it will default to UNICODE if the regex pattern is a Unicode string and ASCII if it’s a bytestring.

因此,您需要使用 ur'\P{L}'u' ' 替换模式。

如果您想匹配除字母和变音符号以外的 1+ 个字符,您将需要 ur'[^\p{L}\p{M}]+' 正则表达式。

关于python - 正则表达式匹配所有非字母,不包括变音符号(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38557116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com