![](/img/trans.png)
[英]Possibilty to use Unicode Blocks (\p{InBasic_Latin}) in regex built-in of Python 3.7 to match canonical equivalence
[英]Python and Unicode Blocks for regex
來自Perl的土地,我可以做類似以下的事情來測試特定unicode塊中字符串的成員資格:
# test if string has any katakana script characters
my $japanese = "カタカナ";
if ($japanese =~ /\p{InKatakana}/) {
print "string has katakana"
}
我已經讀過Python不支持unicode塊(是嗎?) - 那么手動實現這一點的最佳方法是什么? 例如,{InKatakana}的上述unicode塊范圍應為U + 30A0 ... U + 30FF。 如何在Python中測試unicode范圍? 其他推薦的解決方案?
我寧願不使用像Ponyguruma這樣的外部包裝來限制推出/維護的依賴數量。
>>> re.search(u'[\u30a0-\u30ff]', u'カタカナ')
<_sre.SRE_Match object at 0x7fa0dbb62578>
正如伊格納西奧所說,重新表達非常有用。 不要忘記先導入。 此搜索僅查找全角片假名。
import re
re.search(u'[\u30a0-\u30ff]', u'カタカナ')
或者你可能已經有了一個字符串。
import re
x = "カタカナ"
re.search(u'[\u30a0-\u30ff]', x.decode('utf-8'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.