正規表現

正規表現でのひらがな,全角カタカナ,半角カタカナの書き方 – 伸ばし棒

正規表現でひらがなとカタカナ
記事の要約

正規表現でシンプルにかくと

  • ひらがなは「[ぁ-ん]」
  • 全角カタカナは「[ァ-ヴー]」
  • 半角カタカナは「[ヲ-゚]」

正規表現でのひらがな

正規表現でひらがな一文字を表現したいときには次のいずれかを使います。「[ぁ-ん]」ではカバーできない文字があったり、\p{Hiragana}はUnicodeの文字プロパティが有効な場合にのみ使えたりと扱いが異なるので解説します。

含む文字の例1.文字で範囲指定2.Unidodeのコードで範囲指定3.Unicodeのプロパティ
あ,ぁ,ば,ぱ,ゑ[ぁ-ん][\u3041-\u3093]
あ,ぁ,ば,ぱ,ゑ,ゔ,ゕ,ゖゝ,ゞ[ぁ-ゟ][\u3040-\u309F]\p{Hiragana}
あ,ぁ,ば,ぱ,ゑ,ー[ぁ-んー][\u3041-\u3093\u30FC]

シンプルなひらがな表現は[ぁ-ん]

正規表現にてひらがなを文字クラスでかんたんに表現する場合には「[ぁ-ん]」と書きます。「ぁ」は大きい「あ」ではなく小さい「ぁ」なため注意しましょう。また同様の範囲は「[\u3041-\u3093]」にてかけますが、この書き方よりも後述の「[\u3040-\u309F]」のほうが広く用いられています。

// 文字で範囲指定する書き方
[ぁ-ん]

// (参考)Unicodeのコードで範囲指定する書き方
[\u3041-\u3093]

なお、上記表現に含まれる文字と含まれない文字は次のとおりです。

// 含まれる文字
ぁ, あ, ぃ, い, ぅ, う, ぇ, え, ぉ, お, か, が, き, ぎ, く, ぐ, け, げ, こ, ご, さ, ざ, し, じ, す, ず, せ, ぜ, そ, ぞ, た, だ, ち, ぢ, っ, つ, づ, て, で, と, ど, な, に, ぬ, ね, の, は, ば, ぱ, ひ, び, ぴ, ふ, ぶ, ぷ, へ, べ, ぺ, ほ, ぼ, ぽ, ま, み, む, め, も, ゃ, や, ゅ, ゆ, ょ, よ, ら, り, る, れ, ろ, ゎ, わ, ゐ, ゑ, を, ん

// 含まれない文字(「ん」の後に続く文字)
ゔ, ゕ, ゖ, ゙, ゚, ゛, ゜, ゝ, ゞ, ゟ

網羅的なひらがな表現は[\u3040-\u309F], \p{Hiragana}

正規表現にてひらがなをUnicodeのコードにて範囲指定する場合には「[\u3040-\u309F]」と記載します。またUnicodeの文字プロパティが許可されている場合には「\p{Hiragana}」としても表記可能です。

// Unicodeのコードで範囲指定する書き方
[\u3040-\u309F]

// Unicodeの文字プロパティ
\p{Hiragana}


// 含まれる文字
ぁ, あ, ぃ, い, ぅ, う, ぇ, え, ぉ, お, か, が, き, ぎ, く, ぐ, け, げ, こ, ご, さ, ざ, し, じ, す, ず, せ, ぜ, そ, ぞ, た, だ, ち, ぢ, っ, つ, づ, て, で, と, ど, な, に, ぬ, ね, の, は, ば, ぱ, ひ, び, ぴ, ふ, ぶ, ぷ, へ, べ, ぺ, ほ, ぼ, ぽ, ま, み, む, め, も, ゃ, や, ゅ, ゆ, ょ, よ, ら, り, る, れ, ろ, ゎ, わ, ゐ, ゑ, を, ん, ゔ, ゕ, ゖ, ゙, ゚, ゛, ゜, ゝ, ゞ, ゟ

Unicodeのコードで指定されている「[\u3040-\u309F]」の範囲は、下記を参照することで視覚的に理解しやすいかと思います。ここでは「ぁ(\u3041)」の1つ前から「ゟ(\u309F)」までを範囲で指定しています。

参考)平仮名 (Unicodeのブロック) / Wikipedia

シャワーズ

「\p{Hiragana}」の書き方は言語等によって微妙に異なるので、詳細は別途ご確認ください

伸ばし棒(長音)を足したい場合は[ぁ-んー]

ひらがなの表記に伸ばし棒も追加したい場合には「[ぁ-んー]」のように「ー」を追記する必要があります。ひらがなではレアケースかもしれませんが、住所や氏名などでかな入力を求める場合には一定必要かもしれません。

// 伸ばし棒を足したひらがな
[ぁ-んー]

// 伸ばし棒を含まないひらがな
[ぁ-ん]

正規表現での全角カタカナ

正規表現で全角カタカナ一文字を表現したいときには次のいずれかを使います。「[ァ-ヴー]」なら「ヵ」「ヶ」を含まずに済んだり、\p{Katakana}はUnicodeの文字プロパティが有効な場合にのみ使えたりと扱いが異なるので解説します。

含む文字の例1.文字で範囲指定2.Unidodeのコードで範囲指定3.Unicodeのプロパティ
ア,ァ,バ,パ,ヱ,ー[ァ-ヴー][\u30A1-\u30F4\u30FC]
ア,ァ,バ,パ,ヱ,ー,ヵ,ヶ,ヹ[ァ-ヿ][\u30A0-\u30FF]\p{Katakana}
シャワーズ

カタカナの場合は伸ばし棒を使う機会が多いので「[ァ-ヴ]」ではなく「[ァ-ヴー]」のように伸ばし棒を含む前提としています!

シンプルなカタカナ表現は[ァ-ヴー]

正規表現にてカタカナを文字クラスで表現する場合には「[ァ-ヴー]」と書きます。「ァ」は大きい「ア」ではなく小さい「ァ」なため注意しましょう。

// 文字で範囲指定する書き方
「[ァ-ヴー]」

// (参考)Unicodeのコードで範囲指定する書き方
[\u30A1-\u30F4\u30FC]

なお、上記表現に含まれる文字と含まれない文字は次のとおりです。

// 含まれる文字
ァ, ア, ィ, イ, ゥ, ウ, ェ, エ, ォ, オ, カ, ガ, キ, ギ, ク, グ, ケ, ゲ, コ, ゴ, サ, ザ, シ, ジ, ス, ズ, セ, ゼ, ソ, ゾ, タ, ダ, チ, ヂ, ッ, ツ, ヅ, テ, デ, ト, ド, ナ, ニ, ヌ, ネ, ノ, ハ, バ, パ, ヒ, ビ, ピ, フ, ブ, プ, ヘ, ベ, ペ, ホ, ボ, ポ, マ, ミ, ム, メ, モ, ャ, ヤ, ュ, ユ, ョ, ヨ, ラ, リ, ル, レ, ロ, ヮ, ワ, ヰ, ヱ, ヲ, ン, ヴ,ー

// 含まれない文字
゠, ヵ, ヶ, ヷ, ヸ, ヹ, ヺ, ・,  ヽ, ヾ, ヿ
シャワーズ

「ヵ」「ヶ」をカタカナに含めているページもあるけど、今回は対象外にしています!「1ヵ月」「2ヶ」のように漢字として使うケースが多いので、「[ァ-ヴー]」からは意図的に除外しています!

「ヵ」「ヶ」を含めたいとき、含めてもいいときは「[\u3040-\u309F]」や「\p{Hiragana}」を検討するとよいでしょう。

網羅的なカタカナ表現は[\u30A0-\u30FF],\p{Katakana}

正規表現にてカタカナをUnicodeのコードにて範囲指定する場合には「[\u30A0-\u30FF]」と記載します。またUnicodeの文字プロパティが許可されている場合には「\p{Katakana}」としても表記可能です。

// Unicodeのコードで範囲指定する書き方
[\u30A0-\u30FF]

// Unicodeの文字プロパティ
\p{Katakana}


// 含まれる文字
゠, ァ, ア, ィ, イ, ゥ, ウ, ェ, エ, ォ, オ, カ, ガ, キ, ギ, ク, グ, ケ, ゲ, コ, ゴ, サ, ザ, シ, ジ, ス, ズ, セ, ゼ, ソ, ゾ, タ, ダ, チ, ヂ, ッ, ツ, ヅ, テ, デ, ト, ド, ナ, ニ, ヌ, ネ, ノ, ハ, バ, パ, ヒ, ビ, ピ, フ, ブ, プ, ヘ, ベ, ペ, ホ, ボ, ポ, マ, ミ, ム, メ, モ, ャ, ヤ, ュ, ユ, ョ, ヨ, ラ, リ, ル, レ, ロ, ヮ, ワ, ヰ, ヱ, ヲ, ン, ヴ, ヵ, ヶ, ヷ, ヸ, ヹ, ヺ, ・, ー, ヽ, ヾ, ヿ

Unicodeのコードで指定されている「[\u30A0-\u30FF]」の範囲は、下記を参照することで視覚的に理解しやすいかと思います。ここでは「゠(\u30A0)」から「ヿ(\u30FF)」までを範囲で指定しています。

参考)片仮名 (Unicodeのブロック) / Wikipedia

正規表現での半角カタカナ

正規表現で半角カタカナ一文字を表現したいときには次のいずれかを使います。半角カタカナの場合はほとんどの場合「[ヲ-゚]」「[\uFF60-\uFF9F]」のどちらかを使うことになるはずです。

含む文字の例1.文字で範囲指定2.Unidodeのコードで範囲指定3.Unicodeのプロパティ
ァ,ア,,ー,バ,パ[ヲ-゚][\uFF60-\uFF9F]
(参考)ァ,ア,,ー[ヲ-ン][\uFF61-\uFF9D]

半角カタカナ[ヲ-゚], [\uFF60-\uFF9F]

正規表現にて半角カタカナをUnicodeのコードにて範囲指定する場合には「[\uFF60-\uFF9F]」と記載します。

// 文字で範囲指定する書き方
[ヲ-゚]

// Unicodeのコードで範囲指定する書き方
[\uFF60-\uFF9F]

// 含まれる文字
ヲ, ァ, ィ, ゥ, ェ, ォ, ャ, ュ, ョ, ッ, ー, ア, イ, ウ, エ, オ, カ, キ, ク, ケ, コ, サ, シ, ス, セ, ソタ, チ, ツ, テ, ト, ナ, ニ, ヌ, ネ, ノ, ハ, ヒ, フ, ヘ, ホ, マミ, ム, メ, モ, ヤ, ユ, ヨ, ラ, リ, ル, レ, ロ, ワ, ン, ゙, ゚

Unicodeのコードで指定されている「[\uFF60-\uFF9F]」の範囲は、下記を参照することで視覚的に理解しやすいかと思います。ここでは「ヲ(\uFF60)」から「゚(\uFF9F)」までを範囲で指定しています。

参考)Halfwidth and Fullwidth Forms (Unicode block) / Wikipedia

【注意】[ヲ-ン]は濁音,半濁音を含まない

正規表現にて半角カタカナを「[ヲ-ン]」と書いた場合、「バ」「パ」のような濁音と半濁音を含めない形式となってしまうため注意が必要です。

// 濁音,半濁音を含まない書き方(文字の範囲指定)
[ヲ-ン]

// 濁音,半濁音を含まない書き方(コードの範囲指定)
[\uFF61-\uFF9D]

なお、上記表現に含まれる文字と含まれない文字は次のとおりです。

// 含まれる文字
ヲ, ァ, ィ, ゥ, ェ, ォ, ャ, ュ, ョ, ッ, ー, ア, イ, ウ, エ, オ, カ, キ, ク, ケ, コ, サ, シ, ス, セ, ソタ, チ, ツ, テ, ト, ナ, ニ, ヌ, ネ, ノ, ハ, ヒ, フ, ヘ, ホ, マ, ミ, ム, メ, モ, ヤ, ユ, ヨ, ラ, リ, ル, レ, ロ, ワ, ン

// 含まれない文字
 ゙, ゚
シャワーズ

Unicode上に「バ」「パ」という文字は含まれておらず「ハ」と「゙」「゚」を組み合わせて表現するため、「[ヲ-ン]」だけでは半角カタカナを網羅できない形となります!