当前位置: 首页 > 面试题库 >

匹配任何unicode字母?

顾涵衍
2023-03-14
问题内容

在.net中,您可以使用它\p{L}来匹配任何字母,如何在Python中进行匹配?即,我想匹配任何大写,小写和带重音的字母。


问题答案:

Python的re模块尚不支持Unicode属性。但是您可以使用该re.UNICODE标志编译正则表达式,然后字符类速记\w也将与Unicode字母匹配。

由于\w还将匹配数字,因此您需要从字符类中减去数字以及下划线:

[^\W\d_]

将匹配任何Unicode字母。

>>> import re
>>> r = re.compile(r'[^\W\d_]', re.U)
>>> r.match('x')
<_sre.SRE_Match object at 0x0000000001DBCF38>
>>> r.match(u'é')
<_sre.SRE_Match object at 0x0000000002253030>


 类似资料:
  • 问题内容: 我有以下仅允许字母的正则表达式: 如何使用p {L}(通用-任何语言,例如德语,英语等)来执行此操作 我试过了 但所有字母a =“ aB”均返回null 问题答案: 从ECMAScript2018开始,JavaScript终于原生支持Unicode属性转义。 对于较旧的版本,您要么需要自己定义所有相关的Unicode范围。或者,您可以将StevenLevithan的程序包与Unicod

  • 什么字符类或Unicode属性将匹配Perl中的任何Unicode元音? 错误答案:。(此处布道,洗衣清单中的第24项) perluniprops只提到朝鲜文和印度文的元音。 让我们把元音是什么的问题放在一边。是的,

  • 问题内容: 我正在尝试为PHP中的名称编写一个合理的验证器,而我的第一次尝试包括以下模式: 最终将其传递给的呼叫。据我所知,这可以与您的原始ASCII字母一起使用,但似乎在诸如Ă或张之类的易变字符上起作用。 模式本身有问题吗?也许我期望做的工作比我想象的还要多? 还是与输入的传递方式有关?我不确定是否相关,但是我确实确保在表单页面上指定UTF8编码。 问题答案: 我认为问题要比这简单得多:您忘记了

  • 我试图创建一个unicode正则表达式,它匹配每个字符,除了一个字母(任何语言的)和标点符号。 比如字符串 abcd 123 kjd·%/(“?:!”! 应该只匹配下面的粗体部分 abcd 123 kjd·%/(“?:!”! 我知道匹配除字母之外的所有内容,匹配除标点符号之外的所有内容。我如何将这两个正则表达式字符串组合为一个?我已经尝试过简单地将放在一起,但这并没有给出所需的匹配。我也尝试过编写

  • 问题内容: 我有一个要从中提取3组的字符串: 月名称可能包含非ASCII字符,因此对我不起作用: 我可以使用,但它匹配数字和下划线: 我尝试使用[:alpha:],但是不起作用: 如果我能以某种方式匹配而没有,但我不知道如何。即使我知道如何做到这一点,是否也有像Python中那样可用的现成快捷方式? 问题答案: 您可以构造一个新的角色类: 代替。翻译成英文,意思是“任何不是非字母数字字符(与相同)

  • 问题内容: 我正在运行MySQL 5.1.50,并具有一个如下表: 我遇到的问题是MySQL正在将Unicode字符与ascii版本匹配。例如,当我搜索包含’é’的单词时,它将匹配具有’e’的单词,反之亦然: 我从PHP和命令行控制台获得了这些结果。如何从SELECT查询中获得准确的匹配? 谢谢! 问题答案: 您指定的列告诉MySQL 在匹配和排序时将 e 和 é 视为等效。这种归类和两者使很多事