栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用于Unicode大写单词的Python正则表达式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用于Unicode大写单词的Python正则表达式

如果需要使用正则表达式,则有两种选择:

  • 安装PyPi
    regex
    模块并使用
    p{Lu}
    [[:upper:]]
    (其中包含更多大写字符)类(确保已安装最新版本)
  • 使用
    re
    与含有全部大写字母的范围或一个字符类,无论是使用Python实用程序(然后匹配Unipre字母的量将取决于Python版本,最新的具有至多最新的数据)通过手动创建/更新的范围从 Unipre Utilities CLDR 页面。

这是一个带有正则表达式的解决方案,其中包含来自Unipre Utilities
CLDR参考页的
所有大写字母范围:

import repLu = "[A-Zu00C0-u00D6u00D8-u00DEu0100u0102u0104u0106u0108u010Au010Cu010Eu0110u0112u0114u0116u0118u011Au011Cu011Eu0120u0122u0124u0126u0128u012Au012Cu012Eu0130u0132u0134u0136u0139u013Bu013Du013Fu0141u0143u0145u0147u014Au014Cu014Eu0150u0152u0154u0156u0158u015Au015Cu015Eu0160u0162u0164u0166u0168u016Au016Cu016Eu0170u0172u0174u0176u0178u0179u017Bu017Du0181u0182u0184u0186u0187u0189-u018Bu018E-u0191u0193u0194u0196-u0198u019Cu019Du019Fu01A0u01A2u01A4u01A6u01A7u01A9u01ACu01AEu01AFu01B1-u01B3u01B5u01B7u01B8u01BCu01C4u01C7u01CAu01CDu01CFu01D1u01D3u01D5u01D7u01D9u01DBu01DEu01E0u01E2u01E4u01E6u01E8u01EAu01ECu01EEu01F1u01F4u01F6-u01F8u01FAu01FCu01FEu0200u0202u0204u0206u0208u020Au020Cu020Eu0210u0212u0214u0216u0218u021Au021Cu021Eu0220u0222u0224u0226u0228u022Au022Cu022Eu0230u0232u023Au023Bu023Du023Eu0241u0243-u0246u0248u024Au024Cu024Eu0370u0372u0376u037Fu0386u0388-u038Au038Cu038Eu038Fu0391-u03A1u03A3-u03ABu03CFu03D2-u03D4u03D8u03DAu03DCu03DEu03E0u03E2u03E4u03E6u03E8u03EAu03ECu03EEu03F4u03F7u03F9u03FAu03FD-u042Fu0460u0462u0464u0466u0468u046Au046Cu046Eu0470u0472u0474u0476u0478u047Au047Cu047Eu0480u048Au048Cu048Eu0490u0492u0494u0496u0498u049Au049Cu049Eu04A0u04A2u04A4u04A6u04A8u04AAu04ACu04AEu04B0u04B2u04B4u04B6u04B8u04BAu04BCu04BEu04C0u04C1u04C3u04C5u04C7u04C9u04CBu04CDu04D0u04D2u04D4u04D6u04D8u04DAu04DCu04DEu04E0u04E2u04E4u04E6u04E8u04EAu04ECu04EEu04F0u04F2u04F4u04F6u04F8u04FAu04FCu04FEu0500u0502u0504u0506u0508u050Au050Cu050Eu0510u0512u0514u0516u0518u051Au051Cu051Eu0520u0522u0524u0526u0528u052Au052Cu052Eu0531-u0556u10A0-u10C5u10C7u10CDu13A0-u13F5u1E00u1E02u1E04u1E06u1E08u1E0Au1E0Cu1E0Eu1E10u1E12u1E14u1E16u1E18u1E1Au1E1Cu1E1Eu1E20u1E22u1E24u1E26u1E28u1E2Au1E2Cu1E2Eu1E30u1E32u1E34u1E36u1E38u1E3Au1E3Cu1E3Eu1E40u1E42u1E44u1E46u1E48u1E4Au1E4Cu1E4Eu1E50u1E52u1E54u1E56u1E58u1E5Au1E5Cu1E5Eu1E60u1E62u1E64u1E66u1E68u1E6Au1E6Cu1E6Eu1E70u1E72u1E74u1E76u1E78u1E7Au1E7Cu1E7Eu1E80u1E82u1E84u1E86u1E88u1E8Au1E8Cu1E8Eu1E90u1E92u1E94u1E9Eu1EA0u1EA2u1EA4u1EA6u1EA8u1EAAu1EACu1EAEu1EB0u1EB2u1EB4u1EB6u1EB8u1EBAu1EBCu1EBEu1EC0u1EC2u1EC4u1EC6u1EC8u1ECAu1ECCu1ECEu1ED0u1ED2u1ED4u1ED6u1ED8u1EDAu1EDCu1EDEu1EE0u1EE2u1EE4u1EE6u1EE8u1EEAu1EECu1EEEu1EF0u1EF2u1EF4u1EF6u1EF8u1EFAu1EFCu1EFEu1F08-u1F0Fu1F18-u1F1Du1F28-u1F2Fu1F38-u1F3Fu1F48-u1F4Du1F59u1F5Bu1F5Du1F5Fu1F68-u1F6Fu1FB8-u1FBBu1FC8-u1FCBu1FD8-u1FDBu1FE8-u1FECu1FF8-u1FFBu2102u2107u210B-u210Du2110-u2112u2115u2119-u211Du2124u2126u2128u212A-u212Du2130-u2133u213Eu213Fu2145u2160-u216Fu2183u24B6-u24CFu2C00-u2C2Eu2C60u2C62-u2C64u2C67u2C69u2C6Bu2C6D-u2C70u2C72u2C75u2C7E-u2C80u2C82u2C84u2C86u2C88u2C8Au2C8Cu2C8Eu2C90u2C92u2C94u2C96u2C98u2C9Au2C9Cu2C9Eu2CA0u2CA2u2CA4u2CA6u2CA8u2CAAu2CACu2CAEu2CB0u2CB2u2CB4u2CB6u2CB8u2CBAu2CBCu2CBEu2CC0u2CC2u2CC4u2CC6u2CC8u2CCAu2CCCu2CCEu2CD0u2CD2u2CD4u2CD6u2CD8u2CDAu2CDCu2CDEu2CE0u2CE2u2CEBu2CEDu2CF2uA640uA642uA644uA646uA648uA64AuA64CuA64EuA650uA652uA654uA656uA658uA65AuA65CuA65EuA660uA662uA664uA666uA668uA66AuA66CuA680uA682uA684uA686uA688uA68AuA68CuA68EuA690uA692uA694uA696uA698uA69AuA722uA724uA726uA728uA72AuA72CuA72EuA732uA734uA736uA738uA73AuA73CuA73EuA740uA742uA744uA746uA748uA74AuA74CuA74EuA750uA752uA754uA756uA758uA75AuA75CuA75EuA760uA762uA764uA766uA768uA76AuA76CuA76EuA779uA77BuA77DuA77EuA780uA782uA784uA786uA78BuA78DuA790uA792uA796uA798uA79AuA79CuA79EuA7A0uA7A2uA7A4uA7A6uA7A8uA7AA-uA7AEuA7B0-uA7B4uA7B6uFF21-uFF3AU00010400-U00010427U000104B0-U000104D3U00010C80-U00010CB2U000118A0-U000118BFU0001D400-U0001D419U0001D434-U0001D44DU0001D468-U0001D481U0001D49CU0001D49EU0001D49FU0001D4A2U0001D4A5U0001D4A6U0001D4A9-U0001D4ACU0001D4AE-U0001D4B5U0001D4D0-U0001D4E9U0001D504U0001D505U0001D507-U0001D50AU0001D50D-U0001D514U0001D516-U0001D51CU0001D538U0001D539U0001D53B-U0001D53EU0001D540-U0001D544U0001D546U0001D54A-U0001D550U0001D56C-U0001D585U0001D5A0-U0001D5B9U0001D5D4-U0001D5EDU0001D608-U0001D621U0001D63C-U0001D655U0001D670-U0001D689U0001D6A8-U0001D6C0U0001D6E2-U0001D6FAU0001D71C-U0001D734U0001D756-U0001D76EU0001D790-U0001D7A8U0001D7CAU0001E900-U0001E921U0001F130-U0001F149U0001F150-U0001F169U0001F170-U0001F189]"p = re.compile(pLu)if p.match("Żółw"):    print("Capitalized!")

请参阅IDEONE演示。要使其在Python 2.x中工作,请确保

u
在字符串文字中添加前缀。

还有其他方法可以使用和包在Python中获取 Unipre大写字母 字符类,例如

unipredata``sys

# Python 3pLu = '[{}]'.format("".join([chr(i) for i in range(sys.maxunipre) if chr(i).isupper()]))# Python 2pLu = u'[{}]'.format(u"".join([unichr(i) for i in xrange(sys.maxunipre) if unichr(i).isupper()]))

但是,此范围与POSIX字符类的Unipre
Utilities:UnipreSet
页上显示的所有大写字母不匹配

[:upper:]

对比:

  • Python 2.7
    len([unichr(i) for i in xrange(sys.maxunipre) if unichr(i).isupper()])
    显示
    1427
  • Python 3.5
    len([chr(i) for i in range(sys.maxunipre) if chr(i).isupper()])
    展示
    1751
  • Python 3.6
    len([chr(i) for i in range(sys.maxunipre) if chr(i).isupper()])
    展示
    1822
  • 当前的Unipre公用事业CLDR页面显示
    1,822
    大写字母
    [:upper:]
    类,并
    1,702
    p{Lu}

使用 PyPi

regex
模块,它更简单:

import regexp = regex.compile(r"p{Lu}") # To support (currently) 1702 uppercase letters# p = regex.compile(r"[[:upper:]]") # To support (currently) 1822 uppercase lettersif p.match("Żółw"):    print("Capitalized!")

在Python 2.x中,您应该使用:

p = regex.compile(ur"p{Lu}")p = regex.compile(ur"[[:upper:]]")

要么

p = regex.compile(r"p{Lu}", regex.U)p = regex.compile(r"[[:upper:]]", regex.U)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/660583.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号