昔、書いておいたが、
カナ正規表現 - Oboe吹きプログラマの黙示録
Unicode で書く正規表現
全角カナ: ^[ァ-ー]+$
全角かな: ^[ぁ-ゟー]+$
全角かな(長音含めない): ^[ぁ-ゟ]+$
半角カナ: ^[。-゚]+$
全角カナ: ^[\u30A1-\u30FE]+$
全角かな: ^[\u3041-\u309F\u30FC]+$
全角かな(長音含めない): ^[\u3041-\u309F]+$
平仮名として認識する文字に、長音(ー)を含めるのかどうか?
この論争には決着つきそうもないけど、、
Python の regex ライブラリによる実行では、、
pypi.org
カタカナは、、、
import regex p = regex.compile(r'\p{Block=katakana}+') print(p.fullmatch('アーン'))
の結果は、
<regex.Match object; span=(0, 3), match='アーン'>
ひらがな、では、、、
p = regex.compile(r'\p{Block=Hiragana}+') print(p.fullmatch('あーん'))
の結果は、
None
ついでなので、、、Python regex では、
漢字にマッチ
p = regex.compile(r'\p{Script=Han}+') print(p.fullmatch('漢字'))
JavaScript ES2018 で追加された文字も
(JavaScript ECMAScript ですね、)
p = regex.compile(r'\p{Script_Extensions=Han}+') print(p.fullmatch('〆㊊㈴㈲㈪㈫㈬㈭㈮㈯㈰㈱㈲㈳㈴㈵㈶㈷㈸㈹㈺㈻㈼㈽㈾㈿㉀㉁㉂㉃'))
〆 や、(株) なんて、よく使いそうな文字である。