結論

々は「同の字点(どうのじてん)」と呼ばれる繰り返し記号で、それ自体に読み方はなく、すぐ前の漢字の読みをもう一度読みます(人々=ひとびと、時々=ときどき)。出すときは「どう」「おなじ」「くりかえし」「のま」のどれかを入力して変換します。

この記事でわかること

  • 々の読み方・正式な名前と、電話や口頭での伝え方
  • 日本語入力で々が何番目の候補に出るか(読み11通りを実測)と、OS別の出し方
  • 正規表現・検索・並べ替えで々が漏れる理由を、7つの言語とブラウザ・DBで比べた結果

2026年10月29日更新|Mozc 2.28・Python 3.13・Node.js 22・Java 21・Go 1.24・PostgreSQL 16・Chromium 153で実行確認

この記事で実際に動かしたもの:Ubuntu 24.04 の上で、日本語入力 Mozc 2.28(.deb を作業場所に展開し、自分のマウント名前空間の中だけで起動して、読みを送って変換候補を取り出した)、Python 3.13(unicodedata・re・regex・pykakasi)、Node.js 22、OpenJDK 21、Go 1.24、Ruby 3.3、Perl 5.38、GNU grep 3.11、iconv、127.0.0.1 だけで待ち受けた PostgreSQL 16、Playwright で動かした Chromium 153 です。

flowchart TD
    A["々を出したい"] --> B["どう・おなじ・のま<br>を変換"]
    B -->|"候補に出た"| C["選んで確定"]
    B -->|"出ない"| D["佐々木などを変換し<br>前の字を消す"]
    D -->|"それも無理"| E["IMEパッド<br>文字ビューア"]
    C --> F["よく使うなら<br>単語登録"]
やりたいこと いちばん早い方法 詳しい節
々の読み方を知りたい 読みは無い。前の漢字の読みを繰り返す(濁ることもある) 々の読み方
々の名前(呼び方)を知りたい 同の字点。俗に「ノマ」。踊り字・繰り返し符号の一つ 々の名前
々の出し方(PC) 「どう」「おなじ」「のま」を入力して変換 変換候補の順位
々の出し方(スマホ) 「どう」「おなじ」を変換。出なければ「ひとびと」と打って前の字を消す OS・端末別の出し方
ゝ・ヽ・〃との違い 々は漢字、ゝは平仮名、ヽは片仮名、〃は表の上の行と同じ 繰り返し記号の違い
々は機種依存文字か 違う。JIS X 0208 の1区25点で、Shift_JIS でも表せる Unicode と文字コード
正規表現で々が漢字に入らない [一-龯々] と書くか \p{Script=Han} を使う 正規表現
佐佐木で検索して佐々木が出ない 々を前の字に置き換えた検索用の列を作る 検索と並べ替え

確認環境:Ubuntu 24.04.5 LTS(2 CPU)。日本語入力は Ubuntu の mozc-server・emacs-mozc-bin 2.28.4715.102(Google 日本語入力のオープンソース版)を apt-get download で取得して作業場所に展開し、unshare で作った自分のマウント名前空間とネットワーク名前空間の中で、一般ユーザーとして起動しました(ホストの /usr は変えていません)。mozc_emacs_helper にローマ字を1文字ずつ送ってスペースで変換し、候補の一覧(all-candidate-words)から々の順位を取り出しています。文字の性質は Python 3.13.18(unicodedata 15.1.0)、regex 2026.9.29、pykakasi 2.3.0、Node.js 22.23.4(ICU 78.3)、OpenJDK 21.0.12、Go 1.24.7、Ruby 3.3.6、Perl 5.38.2、GNU grep 3.11、iconv(GLIBC 2.39)で、検索と並べ替えは 127.0.0.1 の 15237 番ポートだけで待ち受けた PostgreSQL 16.15 と、Playwright 1.63.0 の Chromium 153.0.8010.12 で確かめました。Windows・Mac・iPhone・Android の操作は Microsoft・Apple・Google(android.com)の公式ページで確かめた範囲だけを書き、Microsoft IME や iPhone の変換候補の順番は手元で動かせないため扱っていません。文字の定義は Unicode のコード表と Scripts.txt、名前と分類は日本大百科全書(ニッポニカ)で確かめました(確認日 2026年10月29日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「々の読み方と出し方|変換候補の順位と正規表現・検索の注意を実測」

々の読み方:それ自体に読みはなく、前の字の読みを繰り返す

この節では、々をどう読むのか、なぜ「々だけの読み」が無いのかが分かります。

々は漢字ではなく、すぐ前の漢字をもう一度書く代わりに置く記号です。そのため々だけの読み方はなく、前の漢字の読みをもう一度読みます。 句読点の「、」に読みが無いのと同じで、「々」という形に音が割り当てられているわけではありません。

前の字をもう一度読むときに、音が濁ったり(連濁)、別の読みに変わったりします。例を並べると、読みが前の字で決まることがよく分かります。

語 読み 々の部分の読み 起きていること
時々ときどきどき前の「とき」を繰り返し、濁る
人々ひとびとびと前の「ひと」を繰り返し、濁る
我々われわれわれそのまま繰り返す
佐々木ささきさ名字。前の「さ」を繰り返す
代々木よよぎよ地名。前の「よ」を繰り返す
様々さまざまざま前の「さま」を繰り返し、濁る
興味津々きょうみしんしんしん四字熟語。前の「しん」を繰り返す

口で「々はなんと読むの?」と聞かれたら、「読みは無くて、前の字をもう一度読む記号」と答えるのが正確です。漢字の音読み・訓読みのような読みを辞書で探しても見つからないのは、このためです。

コンピューターも「語」ごとに読みを決めている

々の読みが前の字で決まることは、漢字かな変換のソフトでも確かめられます。Python の pykakasi(漢字を平仮名に直すライブラリ)に通すと、辞書にある語は正しく読めますが、辞書に無い組み合わせでは々がそのまま残りました。

$ python exp.py   # pykakasi 2.3.0
佐々木 ささき
人々 ひとびと
時々 ときどき
代々木 よよぎ
様々 さまざま
野々村 ののむら
我々 われわれ
一歩々々 いっぽ々々
民主々義 みんしゅ々ぎ

ソフトは「々=前の字」と機械的に読んでいるのではなく、「人々=ひとびと」のように語ごと辞書に持っています。 「一歩々々(一歩一歩)」のように2文字ぶんを繰り返す書き方や、「民主々義」のように語の切れ目をまたぐ書き方は辞書に無く、読みが付きませんでした。読み上げ・ふりがな・検索用の読みを作るシステムでは、ここが漏れやすいところです。

々の名前(同の字点・ノマ・踊り字)と口頭での伝え方

この節では、々の正式な呼び方と俗な呼び方、電話で々を伝えるときの言い方が分かります。

々の名前は「同の字点(どうのじてん)」です。片仮名の「ノ」と「マ」を重ねたように見えることから、俗に「ノマ」「ノマ点」とも呼ばれます。 同じ字や仮名を繰り返す記号をまとめて「踊り字(おどり字)」「繰り返し符号」「重ね字」「畳字(じょうじ)」と呼び、々はその代表です。

日本大百科全書(ニッポニカ)の「おどり字」の項目では、踊り字を次のように分け、「実際には々と〃が大部分で、その他はあまり使われなくなっている」と説明しています。

記号 名前 繰り返すもの
々同の字点漢字1字
〻二の字点々と同じ(縦書きで使われた形)
ゝ・ゞ一つ点(一の字点)仮名1字(ゞは濁る)
〱(縦に長いくの字)くの字点仮名2字以上
〃ノノ点表や帳簿で、上の行と同じ文字・数字・語句

由来は、「同」の異体字である「仝(どう)」を崩した形から来たという説がよく紹介されます。日本語入力でも「どう」で々・仝・〃がまとめて候補に出るのは、この「同じ」という意味からです。

ふだんの言葉とコンピューターの中での扱い

観点 国語(ふだんの文章)での扱い コンピューターでの扱い
正体漢字ではなく記号(踊り字)1つの文字。U+3005 という番号を持つ
分類句読点などと同じ補助の記号Unicode の分類は「修飾文字(Lm)」、用字は「漢字(Han)」
読み前の漢字の読みを繰り返す文字そのものに読みのデータは無い。読みは語の辞書で決まる
置き場所繰り返す漢字のすぐ後ろに置く「CJK の記号と句読点」の区画(U+3000〜303F)にあり、漢字の区画には無い

最後の行が、プログラムで「々が漢字として数えられない」原因です。詳しくは正規表現の節で扱います。

電話や口頭で々を伝えるとき

「同の字点」と言っても通じないことがあるため、よく知られた語を例にするのが確実です。

  • 「佐々木さんの『々』です」「時々の2文字目の記号です」
  • 「カタカナのノとマを重ねたような、同じ字を繰り返す記号です」
  • 名前の確認なら「佐藤の佐を2回書く『佐佐木』ではなく、記号の々を使う佐々木です」と、どちらの書き方かまで伝える

最後の例は、検索や名簿で「佐々木」と「佐佐木」が別の文字列として扱われるため、事務の手続きでは大事です(検索と並べ替えの節を参照)。

々の出し方:「どう」「おなじ」「のま」で変換(変換候補の順位を実測)

この節では、どんな読みを入れると々が変換候補に出るのか、何番目に出るのかが分かります。

手元の日本語入力 Mozc では、「どう」「おなじ」「くりかえし」「のま」「おどりじ」「かさねじ」のどれでも々が候補に出ました。いちばん少ないキーで出せたのは「のま」(4番目)と「おなじ」(5番目)です。 「どう」は入力が短いものの、同・動・銅などの漢字が先に並ぶため8番目でした。

読みをローマ字で1文字ずつ送り、スペースで変換した直後の候補一覧から、々などの繰り返し記号の順位を抜き出しました(数字が候補の順位、角かっこは Mozc が候補の横に出す説明)。

読み(送ったキー)   変換結果     候補の数  々などが出た位置
dou                どう          78件    7:〃 8:々 9:ゝ 10:ゞ 11:ヽ 12:ヾ 13:仝
onaji              同じ          17件    4:〃 5:々 6:ゝ 7:ゞ 8:ヽ 9:ヾ 10:仝
kurikaesi          繰り返し      25件    5:〃 6:々 7:ゝ 8:ゞ 9:ヽ 10:ヾ
noma               ノマ          14件    4:々
odoriji            踊り字        16件    4:〃 5:々 6:ゝ 7:ゞ 8:ヽ 9:ヾ
kasaneji           重ね時        17件    4:〃 5:々 6:ゝ 7:ゞ 8:ヽ 9:ヾ
jouji              常時          64件    5:〃 6:々 7:ゝ 8:ゞ 9:ヽ 10:ヾ
kigou              記号         385件    60:〃 61:々 62:〆 66:ゝ ... 199:仝
dounojiten         動の|時点     12件    (出ない)
nomaten            野間店        10件    (出ない)
douten             同点          19件    (出ない)
々の説明: [繰り返し記号 踊り字]

ここから分かることを3つにまとめます。

1「のま」がいちばん迷わない

候補が14件と少なく、繰り返し記号は々だけが出た。〃やゝと見間違えずに選べる。

2「どうのじてん」は区切られる

「動の|時点」の2つの語に分かれ、々は出なかった。正式名を打つより「どう」「おなじ」が確実。

3繰り返し記号はまとめて出る

〃・々・ゝ・ゞ・ヽ・ヾが隣り合って並ぶ。形の似た〃(ノノ点)と取り違えないよう注意する。

Mozc は Google 日本語入力のオープンソース版で、ここで分かるのはその辞書の傾向です。Microsoft IME・Apple の日本語入力・スマホのキーボードでは、候補の順番や、そもそも候補に出る読みが違うことがあります。

語ごと入力すれば、々は最初から入る

多くの場合、々を単独で出す場面はなく、語として入力すれば最初の候補に々入りの表記が出ます。

読み              1番目の候補
sasaki          → 佐々木(7番目に佐々城)
hitobito        → 人々
tokidoki        → 時々
yoyogi          → 代々木
nonomura        → 野々村
kenkengougou    → 喧々囂々
wareware        → 我々(3番目に吾々)
tamatama        → たまたま(3番目に偶々)

このため、記号の読みを思い出せないときは、「ひとびと」などを変換して「人々」を出し、前の「人」を消すと々だけが残ります。 どの日本語入力でも同じ考え方で使える方法です。

OS・端末別の々の出し方(Windows・Mac・iPhone・Android・Linux)

この節では、使っている端末ごとに々を出す手順と、変換で出ないときの代わりの方法が分かります。

端末 まず試す 出ないとき 確かめた範囲
Windows「どう」「おなじ」「のま」を変換「ひとびと」を変換して前の字を消す。IME パッドMicrosoft の公式ページ
Mac同上文字ビューア(Fn+E)で探すApple の公式ページ
iPhone同上語を変換して前の字を消す。ユーザ辞書に登録Apple の公式ページ
Android(Gboard)同上語を変換して前の字を消す。単語リストに登録android.com の公式記事
Linux(Mozc)「のま」「おなじ」を変換端末なら printf '々'本記事で実行

Windows

1

読みを入力して変換する

日本語入力をオンにして「どう」「おなじ」「のま」などを入力し、スペースキーで候補を開いて々を選ぶ。候補の順番は IME と学習の状態で変わる。

まず試す方法

2

語を変換して前の字を消す

「ひとびと」「ときどき」を変換して「人々」「時々」を確定し、前の字を Backspace で消す。辞書の違いに左右されない。

候補に出ないとき

3

IME パッドから選ぶ

タスクバーの IME のアイコンを右クリックして IME ツールバーを出すと、「IME パッド」のボタンがある(Microsoft の「Microsoft 日本語 IME」のページに記載)。読みの分からない文字は、ここから探す方法もある。

読みが分からないとき

4

よく使うなら単語を登録する

IME のアイコンの右クリックメニューか、IME の設定の「ラーニングと辞書」にあるユーザー辞書ツールから、単語に々、よみに「のま」などを登録する。Microsoft 365 の一部のアプリでは、コード 3005 を入力して Alt+X を押すと文字に変わる(Microsoft のサポートページに記載。変換できないアプリもあると注意書きがある)。

何度も使う人向け

Mac

変換の方法は Windows と同じです。候補に出ないときは、Apple の「Macで絵文字と記号を使用する」に従い、Fn+E(または地球儀キー+E)か「編集」メニューの「絵文字と記号」で文字ビューアを開き、検索欄で記号名やコードを入れて探します。

iPhone・Android

スマホでも「どう」「おなじ」を変換するか、「ひとびと」「ときどき」を変換して前の字を消す方法が使えます。何度も入力するなら単語登録が便利です。iPhone は Apple の「iPhoneでよく使うテキストの代わりになる表現を設定する」に、ユーザ辞書に単語を登録するとそのよみで変換候補に出ると書かれています。Android の Gboard は、android.com の記事「Gboard の便利な使い方を徹底解説!」の手順で、キーボード上部の設定アイコンから[単語リスト]を開き、単語に々、よみに「のま」などを登録します。

Linux・プログラムの中

Mozc なら上の表のとおり「のま」が早道です。端末やプログラムでは、文字の番号(U+3005)から出せます。

$ printf '々\n'          # bash の printf
々
$ python3 -c "print('々')"
々
$ node -e "console.log('々')"
々

HTML では &#x3005; または &#12293; と書くと々と表示されます(Chromium で innerHTML に入れて確かめると、どちらも「々」になりました)。

自分で確かめる:入力した文字が本当に々か(ブラウザで1行・ターミナルで1行)

この節では、手元で入力した記号が々(U+3005)なのか、形の似た別の文字なのかを、その場で確かめる方法が分かります。

々・〃・ゝ・ヽ・仝は形が似ていて、画面では見分けにくい文字です。番号(コードポイント)を見れば確実に区別できます。 どちらも手元で実行した手順です。

ブラウザの開発者ツールで1行

Chrome・Edge で F12 を押してコンソールを開き、調べたい文字を貼り付けて次の1行を実行します。

[...'佐々木'].map(c => c + ' U+' + c.codePointAt(0).toString(16).toUpperCase())
// → ['佐 U+4F50', '々 U+3005', '木 U+6728']

U+3005 と出れば同の字点の々です。U+3003 なら〃(ノノ点)、U+4EDD なら仝(漢字)、U+309D ならゝ(平仮名の繰り返し)です。

ターミナルで1行

Linux・Mac のターミナルでは、文字をバイト列に直して見ます。

$ printf '々' | od -An -tx1
 e3 80 85
$ printf '々' | iconv -f UTF-8 -t SHIFT_JIS | od -An -tx1
 81 58

UTF-8 で e3 80 85、Shift_JIS で 81 58 なら々です。Shift_JIS に直せたこと自体が、々が昔ながらの文字コードにも入っている証拠になります(次の節)。

  • 1U+3005 かコンソールの1行で番号を見る。U+3003(〃)と取り違えていないか
  • 2UTF-8 で e3 80 85 かターミナルの od で見る。ファイルの中身を調べるときも同じ
  • 3語として入力した場合も同じ番号か「佐々木」を変換した結果でも 4F50 3005 6728 になる(Chromium の入力欄で確認)

々・ゝ・ヽ・〃・仝・〆の違い(繰り返し記号と似た文字の一覧)

この節では、々と形や用途の似た記号の違いと、使い分けが分かります。

々は漢字を、ゝは平仮名を、ヽは片仮名を繰り返す記号で、〃は表の中で「上と同じ」を表す記号です。仝は記号ではなく、「同」の異体字として扱われる漢字です。 番号と文字コードは Python の unicodedata と codecs で取り出しました。

文字 Unicode(名前) Shift_JIS 使う場面・例
々U+3005 IDEOGRAPHIC ITERATION MARK81 58漢字の繰り返し。時々・佐々木
〻U+303B VERTICAL IDEOGRAPHIC ITERATION MARK表せない二の字点。縦書きの以前の文献
ゝ・ゞU+309D・U+309E81 54・81 55平仮名の繰り返し。こゝろ・いすゞ
ヽ・ヾU+30FD・U+30FE81 52・81 53片仮名の繰り返し
〃U+3003 DITTO MARK81 56表・帳簿で上の行と同じ
仝U+4EDD(CJK 統合漢字)81 57「同」の異体字。漢字として扱われる
〆U+3006 IDEOGRAPHIC CLOSING MARK81 59締め。封筒の〆など。繰り返しではない

Mozc でも、平仮名の踊り字は語の候補として出ました。「isuzu」で1番目に「いすゞ」、「kokoro」で4番目に「こゝろ」、「aa」で3番目に「あゝ」が出ています。社名・商品名・文学作品の題名など、固有の表記として今も使われる場面があります。

々(同の字点)

文章の中で、すぐ前の漢字を繰り返す

語の一部になる(時々・人々)

Unicode では用字が「漢字」

〃(ノノ点)

表・帳簿で、上の行と同じ内容を表す

文章の中の繰り返しには使わない

Unicode では句読点の仲間(Po)

々の使い方のルール:使う場面・使わない場面

この節では、々を使ってよい書き方と、避ける書き方が分かります。

々は「1つの語の中で、同じ漢字が続くとき」に使います。語の切れ目をまたいで同じ字が並んだだけのときは使わず、漢字をそのまま書くのが一般的です。 表記の決まりの原典としては、文部省の「くりかへし符号の使ひ方〔をどり字法〕(案)」(昭和21年)が、文化庁の「国語シリーズ No.56 国語表記の問題」の付録に収められています。

この慣習は日本語入力の辞書にも表れています。Mozc で語の切れ目をまたぐ読みを変換すると、々を使わない表記になりました。

読み               変換結果
minshushugi      → 民主主義        (民主|主義。々にならない)
eigyoububuchou   → 営業部|部長    (2つの語に分かれ、々にならない)
kyoumishinshin   → 興味津々        (津々は1つの語)
hibi             → 日々

語の切れ目をまたぐとき

避ける営業部々長・民主々義・会社々長
→
代わりに営業部部長・民主主義・会社社長。別の語の字は、同じでもそのまま書く

見分ける問い:「その2文字で1つの語か」

表で上と同じ内容を書くとき

避ける表のセルに々を入れて「上と同じ」を表す
→
代わりに〃(ノノ点)を使う。データとして扱う表なら、同じ値をそのまま入れる

〃は検索・集計で値として扱えないため、データの表では値を入れる

人名・地名・社名を書くとき

避ける「佐々木」を自分の判断で「佐佐木」に書き換える
→
代わりに本人・公式の表記に合わせる。代々木・佐々木・野々村は々が正しい表記

固有名詞は、正式文書でも々のまま書く

正式な文書・ビジネス文書で々は使ってよいか

「時々」「人々」「様々」「我々」のように、ふだん々で書く語は、ビジネス文書でもそのまま使われます。日本語入力の辞書でも、これらの語は々入りの表記が1番目の候補でした。避けるのは、上の「語の切れ目をまたぐ」書き方です。一方で、仮名の踊り字(ゝ・ヽ)は今の一般の文章ではほとんど使われないため、固有の表記でなければ「こころ」のように仮名をそのまま書きます。

2文字以上を繰り返すとき

「一歩一歩」を「一歩々々」と書く例が文学作品などに見られますが、今の一般の文章では「一歩一歩」と書くのがふつうです。後で触れるとおり、この書き方は読み上げや検索のソフトでも扱いにくい形です。

々はUnicodeでは何か(U+3005・Shift_JISでも使える・機種依存文字ではない)

この節では、々がコンピューターの中でどんな文字として扱われているのか、文字化けの心配があるのかが分かります。

U+3005Unicode の番号IDEOGRAPHIC ITERATION MARK
3バイトUTF-8 の長さe3 80 85
1-25JIS X 0208 の区点Shift_JIS では 81 58

々は JIS X 0208(1区25点)に入っている文字なので、Shift_JIS・EUC-JP・ISO-2022-JP(メールで使われてきた文字コード)のどれでも表せます。①などとは違い、機種依存文字ではありません。 「機種依存文字なので避ける」と紹介されることがありますが、Python で各文字コードに直すと、々はすべて成功しました。

$ python uni.py
unicodedata 15.1.0
U+3005 々 IDEOGRAPHIC ITERATION MARK cat=Lm eaw=W nfkc=True
  utf-8      e3 80 85
  shift_jis  81 58
  cp932      81 58
  euc_jp     a1 b9
  iso2022_jp 1b 24 42 21 39 1b 28 42
U+303B 〻 VERTICAL IDEOGRAPHIC ITERATION MARK cat=Lm eaw=W nfkc=True
  utf-8      e3 80 bb
  shift_jis  × (UnicodeEncodeError)
  cp932      ×
  euc_jp     ×
  iso2022_jp ×

ISO-2022-JP の 21 39 は、JIS の区点に 0x20 を足した値です(0x21−0x20=1区、0x39−0x20=25点)。一方、縦書き用の〻(二の字点)は JIS X 0208 に無く、Shift_JIS では表せませんでした。〻を使った文書をメールや CSV(Shift_JIS)で送ると、化けたりエラーになったりします。

性質 々の値 プログラムで起きること
一般カテゴリLm(修飾文字)「文字(L)」として扱われ、Python の isalpha() は True
用字(Script)Han(漢字)\p{Script=Han} に入る
Ideographic の性質持たない\p{Ideographic} や Java の isIdeographic() には入らない
区画(Block)CJK Symbols and Punctuation漢字の範囲 [一-龯] に入らない
文字の幅W(全角)端末や等幅の表示では2桁ぶん
NFKC 正規化変わらない正規化しても「佐々木」と「佐佐木」は別のまま
文字数1文字JavaScript の length も 1(サロゲートペアではない)

「全角を半角に直す」「NFKC で正規化する」といった処理をしても、々は々のままです。全角・半角の変換そのものは、関連記事「全角⇔半角変換の早見表|Java・JS・Python・Excel・SQL」で扱っています。この記事は、変換では変わらない々を、検索や入力チェックでどう扱うかに絞ります。

正規表現で々が漢字に入らない問題(7つの言語で比べた結果)

この節では、「漢字だけ」を判定する正規表現で佐々木さんが弾かれる理由と、言語ごとの書き方が分かります。

よく使われる [一-龯] は「CJK 統合漢字」の区画の範囲で、々(U+3005)はこの外にあります。そのため、氏名の入力チェックで「佐々木」「野々村」が不正な入力として弾かれます。 々・〃・ゝ・仝・〆・〇・佐の7文字を、言語ごとの書き方で判定しました(○が一致、×が不一致)。

JavaScript (Node.js 22.23.4)
[一-龯]                    々× 〻× 〃× ゝ× 仝○ 〆× 〇× 佐○
\p{Script=Han}             々○ 〻○ 〃× ゝ× 仝○ 〆× 〇○ 佐○
\p{Ideographic}            々× 〻× 〃× ゝ× 仝○ 〆○ 〇○ 佐○
\p{Script_Extensions=Han}  々○ 〻○ 〃○ ゝ× 仝○ 〆○ 〇○ 佐○
\p{L}                      々○ 〻○ 〃× ゝ○ 仝○ 〆○ 〇× 佐○
\w  (u フラグ)              々× 〻× 〃× ゝ× 仝× 〆× 〇× 佐×

Java 21.0.12
\p{IsHan}                  々○ 〃× ゝ× 仝○ 〆× 〇○ 佐○
\p{IsIdeographic}          々× 〃× ゝ× 仝○ 〆○ 〇○ 佐○
script=HAN block=CJK_SYMBOLS_AND_PUNCTUATION isIdeographic=false isLetter=true

Perl 5.38.2
\p{Han}                    々○ 〃○ ゝ× 仝○ 〆○ 〇○ 佐○
\w                         々○ 〃× ゝ○ 仝○ 〆○ 〇○ 佐○
言語・ツール [一-龯] 漢字の用字で判定 々の結果
Python re々×標準の re は \p 非対応。[一-龯々〆〇] と足す足せば○
Python regex々×\p{Han}○
JavaScript々×/\p{Script=Han}/u○
Java々×\p{IsHan}○
Go々×\p{Han}○
Ruby々×\p{Han}○
Perl々×\p{Han}(〃・〆も入る)○
PostgreSQL々×~ '^[一-龯々]+$'足せば○
GNU grep 3.11エラー(後述)grep -P '\p{Han}+'○

注意したいのは次の3点です。

  • \p{Ideographic}(Java の isIdeographic)は々を含みません。 「漢字らしさ」の性質を持つのは仝・〆・〇などで、々は持たないためです。名前に Ideographic と付いていても、漢字判定には向きません。
  • Perl の \p{Han} は〃や〆まで含みました。 Perl は用字の拡張(Script_Extensions)で判定するためで、JavaScript の \p{scx=Han} と同じ結果です。「表の〃」まで漢字として通したくないなら、Perl では \p{Script=Han} と書きます。
  • \w の意味が言語で違います。 JavaScript・Java・Go・Ruby では英数字と _ だけで、々どころか「佐」も×でした。Python 3 と Perl の \w は Unicode の文字を含み、々も○です。

Chromium の入力欄(pattern 属性)で確かめた結果

HTML の入力欄に pattern 属性で入力チェックを付け、値に「佐々木」を入れて、Chromium 153 の判定(validity.patternMismatch)を見ました。

pattern="[一-龯]+"           → patternMismatch(弾かれる)
pattern="[一-龯々]+"         → OK
pattern="\p{Script=Han}+"    → OK(pattern 属性は v フラグ付きで解釈される)

ひらがな・カタカナ・漢字を判定する正規表現の全体は、関連記事「正規表現でひらがな・カタカナ・漢字を判定する方法【言語別】」にまとめています。この記事では、々の扱いが言語でどう分かれるかに絞りました。\d が全角数字に一致するなど、他の落とし穴は関連記事「正規表現の落とし穴8選|ReDoS・\dと全角・先読み・gフラグ」で扱っています。

自分で確かめる:使っている正規表現が々を通すか

ブラウザのコンソールで、フォームに書かれている pattern をそのまま試せます。

new RegExp('^(?:' + document.querySelector('input[pattern]').pattern + ')$', 'v').test('佐々木')
// false なら、佐々木さんはそのフォームで弾かれる

佐々木と佐佐木:検索・並べ替えで々がずれる理由と直し方

この節では、「佐佐木」で検索しても「佐々木」が見つからない理由と、名簿やデータベースでの対策が分かります。

々は前の字の代わりの記号ですが、コンピューターにとっては「佐」とは別の文字です。そのため「佐々木」と「佐佐木」は別の文字列で、検索でも並べ替えでも一致しません。 NFKC 正規化でも々は前の字に置き換わらないため、自分で検索用の値を作ります。

ブラウザのページ内検索

「受付担当:佐々木」「会場:代々木」とだけ書いたページを Chromium で開き、window.find(ページ内検索と同じく文字列を探す関数)で探しました。

window.find('佐佐木')  → false
window.find('佐々木')  → true
window.find('代代木')  → false
window.find('々')      → true

データベース(PostgreSQL)での検索

名前の表に「佐々木」と「佐佐木」の両方を入れ、LIKE と正規表現で探しました。

t237db=# SELECT name, name LIKE '佐佐%' AS like_sasa,
                name ~ '^[一-龯]+$' AS re_range, name ~ '^[一-龯々]+$' AS re_with_noma FROM names;
  name  | like_sasa | re_range | re_with_noma
--------+-----------+----------+--------------
 佐藤   | f         | t        | t
 佐々木 | f         | f        | t
 佐野   | f         | t        | t
 佐伯   | f         | t        | t
 佐佐木 | t         | t        | t
 ささき | f         | f        | f

対策として、々を前の字に置き換えた検索用の列を生成列で作ると、どちらの書き方で探しても両方が見つかりました。

ALTER TABLE names ADD COLUMN search_key text
  GENERATED ALWAYS AS (regexp_replace(name, '(.)々', '\1\1', 'g')) STORED;

SELECT name, search_key FROM names WHERE search_key LIKE '佐佐%';
--   name  | search_key
-- --------+------------
--  佐々木 | 佐佐木
--  佐佐木 | 佐佐木

元の name 列は書き換えず、表示には本人の表記を使い、検索だけを search_key で行うのがポイントです。

単純な置き換えが失敗する書き方

「(.)々 → 前の字を2回」という置き換えは、々が2つ続く書き方で失敗します。Python で、続いた々の数だけ前の文字をまとめて繰り返す関数と比べました。

import re

def expand_naive(s):
    return re.sub(r'(.)々', r'\1\1', s)

def expand(s):
    out, i = [], 0
    while i < len(s):
        if s[i] == '々':
            j = i
            while j < len(s) and s[j] == '々':
                j += 1
            k = j - i                       # 々 が k 個続く → 直前の k 文字を繰り返す
            base = ''.join(out[-k:]) if len(out) >= k else ''
            out.extend(base if base else s[i:j])
            i = j
        else:
            out.append(s[i])
            i += 1
    return ''.join(out)
元の表記   単純な置き換え   続いた数で繰り返す
佐々木     佐佐木           佐佐木
民主々義   民主主義         民主主義
代々木     代代木           代代木
一歩々々   一歩歩々         一歩一歩
複々線     複複線           複複線
々         々               々

PostgreSQL の regexp_replace でも同じく「一歩歩々」になりました。検索用の値を作るのは、このような関数をアプリ側に置き、保存時に計算するのが確実です。

並べ替え(ソート)での々の位置

々は U+3005 で、漢字(U+4E00〜)や平仮名(U+3041〜)より前の番号です。そのため、番号順の並べ替えと、日本語の照合順(ICU)とで結果が変わります。

Python sorted()(番号順)     ささき 佐々木 佐伯 佐佐木 佐藤 佐野
JavaScript sort()(番号順)  ささき ササキ 佐々木 佐伯 佐佐木 佐藤 佐野
Intl.Collator('ja')(ICU)   ささき ササキ 佐々木 佐佐木 佐藤 佐伯 佐野
PostgreSQL COLLATE "C"       ささき 佐々木 佐伯 佐佐木 佐藤 佐野
PostgreSQL "ja-x-icu"        ささき 佐々木 佐佐木 佐藤 佐伯 佐野
GNU sort(C.utf8)           佐々木 佐伯 佐佐木 佐藤 佐野

(並べた名前は言語ごとに少し違います。)どの方法でも「佐々木」は「佐」で始まる名前の先頭に来ました(々の番号が小さいため)。一方、どちらも読みの順(あいうえお順)にはなりません。名簿を読みで並べるなら、ふりがなの列を別に持って並べます。照合順序の考え方は、関連記事「MySQL照合順序(collation)の違い|utf8mb4全種の比較表と選び方」で比べています。また、Intl.Collator の sensitivity: 'base'(大文字小文字などの違いを無視する設定)でも、佐々木と佐佐木は「別」と判定されました。

語の区切り(Intl.Segmenter)

Chromium の Intl.Segmenter で単語に区切ると、々は前の字と同じ語にまとまりました。検索の索引を作るときも、々だけが切り離されることはありませんでした。

佐々木|さん|と|代々木|で|時々|会う

よくあるつまずき(症状→原因→直し方)

この節では、々を入力・保存・処理するときに起きやすい症状と、そのときの原文、直し方が分かります。

症状(原文) 原因 直し方
「どうのじてん」と打っても々が出ない(「動の|時点」になる)正式名は辞書に1語として入っておらず、2語に区切られる「のま」「おなじ」「どう」で変換する
フォームで「佐々木」が入力エラーになる(patternMismatch)入力チェックが [一-龯] で、々を含まない[一-龯々] にするか \p{Script=Han} を使う
grep: Invalid collation character手元の GNU grep 3.11(C.utf8)で、日本語の範囲 [一-龯] を指定したgrep -P '\p{Han}+' を使う(手元で動いた)
Java の出力が [?-?]・?? になるロケールが未設定(LANG が空)で、標準出力が UTF-8 でないLANG=C.UTF-8 と -Dstdout.encoding=UTF-8 を付けて実行
iconv: illegal input sequence at position 0〻(二の字点)を Shift_JIS に直そうとした。〻は JIS X 0208 に無い々に置き換えるか、UTF-8 のまま扱う
「佐佐木」で検索して「佐々木」が見つからない々と佐は別の文字。NFKC でも変わらない々を展開した検索用の列を作る
読み上げ・ふりがなで「々」がそのまま残る(いっぽ々々)辞書に無い語(2文字の繰り返し・語の切れ目をまたぐ々)一般的な表記(一歩一歩・民主主義)に直す。読みの列を別に持つ
〃を選んだつもりが々、またはその逆変換候補で隣り合って並び、形も似ているコンソールの1行で U+3005 か U+3003 かを確かめる

判断表:々をそのまま使うか、展開するか

この節では、文章を書くとき・システムを作るときに、々をどう扱えばよいかを場面ごとに判断できます。

場面 判断 理由
ふだんの文章・ビジネス文書時々・人々などは々で書く一般的な表記で、文字コードの心配も無い
語の切れ目をまたぐ同じ字々を使わず漢字で書く営業部部長・民主主義。辞書もこの表記
人名・地名・社名本人・公式の表記に従う佐々木と佐佐木は別の表記として扱う
メール・CSV(Shift_JIS)々はそのまま使える。〻は避ける々は JIS X 0208 にある。〻は無い
氏名の入力チェック々を必ず通す[一-龯] だけだと佐々木さんが登録できない
名簿・顧客の検索表示は元の表記、検索は展開した値どちらの書き方で探しても見つかる
読みの順に並べるふりがなの列で並べる々の番号順でも ICU でも読み順にはならない
  1. 1入力:々を受け付ける正規表現に々を足すか、用字(Script=Han)で判定する
  2. 2保存:本人の表記のまま保存する佐々木を佐佐木に書き換えない
  3. 3検索:展開した値を別に持つ々が続く場合も考えた関数で作る
  4. 4並べ替え:読みの列を使う漢字の番号順に頼らない

文字化け全般(濁点の分離や絵文字の文字数など)の原因は、関連記事「文字化けの原因8選|濁点分離・utf8mb4・絵文字の文字数」にまとめています。なお、丸数字(①〜⑳)は cp932 にはあっても Shift_JIS には無い文字で、Shift_JIS でも表せる々とは事情が違います。

よくある質問

Q. 々はなんと読みますか? A. 々だけの読み方はありません。前の漢字の読みをもう一度読みます。時々は「ときどき」、人々は「ひとびと」、佐々木は「ささき」です。2回目の音は濁ることがあります。

Q. 々の正式な名前は何ですか? A. 「同の字点(どうのじてん)」です。片仮名の「ノ」と「マ」に見えることから「ノマ」とも呼ばれ、繰り返しの記号の総称として「踊り字」「繰り返し符号」とも言います。

Q. 々はどう打てば出ますか? A. 「どう」「おなじ」「くりかえし」「のま」のどれかを入力して変換します。手元の Mozc では「のま」で4番目、「おなじ」で5番目、「どう」で8番目に出ました。出ないときは「ひとびと」を変換して前の「人」を消します。

Q. 「どうのじてん」「おどりじ」で変換できますか? A. Mozc では「おどりじ」は「踊り字」と変換され、5番目に々が出ました。「どうのじてん」は「動の|時点」に区切られて出ませんでした。日本語入力によって違うため、短い「のま」「おなじ」が確実です。

Q. 々は漢字ですか? A. 国語では漢字ではなく記号です。ただし Unicode の用字(Script)では「漢字(Han)」に分類されているため、プログラムの \p{Script=Han} には一致します。漢字の区画(U+4E00〜)には入っていないので、[一-龯] には一致しません。

Q. 々は機種依存文字ですか?メールで使えますか? A. 機種依存文字ではありません。JIS X 0208 の1区25点に入っており、Shift_JIS(81 58)・EUC-JP・ISO-2022-JP のどれでも表せます。メールでも化けません。縦書き用の〻(二の字点)は JIS X 0208 に無いため注意します。

Q. 々と〃の違いは何ですか? A. 々は文章の中で前の漢字を繰り返す記号、〃は表や帳簿で「上の行と同じ」を表す記号です。Unicode も別で、々は U+3005、〃は U+3003 です。

Q. 営業部部長を「営業部々長」と書いてもよいですか? A. 一般には避けます。「営業部」と「部長」という別の語の字が並んだだけなので、漢字をそのまま書きます。日本語入力の Mozc でも「営業部|部長」と変換され、々にはなりませんでした。

Q. ゝ(平仮名の踊り字)は今も使いますか? A. 一般の文章ではほとんど使いませんが、「いすゞ」などの社名や、文学作品の題名などの固有の表記として残っています。Mozc でも「いすゞ」「こゝろ」「あゝ」は候補に出ました。

Q. 名前の「佐々木」を「佐佐木」と書いても同じですか? A. 読みは同じですが、別の表記です。戸籍や会員情報が々で登録されていれば、検索や照合では一致しません。本人の表記に合わせ、システム側では々を展開した検索用の値を持つと、どちらでも見つかります。

Q. プログラムで々を前の字に置き換えるには? A. 単純な (.)々 → \1\1 では、「一歩々々」が「一歩歩々」になります。続いた々の数だけ前の文字をまとめて繰り返す関数を使います(本文の expand 関数)。表示用の値は書き換えず、検索用に別の値として持ちます。

まとめ

  • 々は「同の字点」(俗にノマ)という繰り返し記号で、読み方は無く、前の漢字の読みをもう一度読みます。
  • 出すときは「のま」「おなじ」「どう」を変換します。 手元の Mozc では「のま」4番目・「おなじ」5番目・「どう」8番目で、「どうのじてん」では出ませんでした。
  • 々は1つの語の中で使い、語の切れ目をまたぐときは使いません(営業部部長・民主主義)。人名・地名は本人・公式の表記に従います。
  • 々は U+3005、JIS X 0208 の1区25点で、Shift_JIS でも使える文字です。 機種依存文字ではなく、〻(二の字点)とは扱いが違います。
  • プログラムでは [一-龯] に々が入らず、検索では佐々木と佐佐木が一致しません。 入力チェックは [一-龯々] か \p{Script=Han}、検索は々を展開した値で行います。

参考・出典

  • Unicode「CJK Symbols and Punctuation」コード表(U+3000〜303F):https://www.unicode.org/charts/PDF/U3000.pdf
  • Unicode Character Database「Scripts.txt」:https://www.unicode.org/Public/UCD/latest/ucd/Scripts.txt
  • Unicode Character Database「PropList.txt」(Ideographic の性質):https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt
  • 日本大百科全書(ニッポニカ)「おどり字」(コトバンク):https://kotobank.jp/word/おどり字
  • 文化庁「国語シリーズ No.56 国語表記の問題」(付録「くりかえし符号の使ひ方〔をどり字法〕(案)」を収録):https://www.bunka.go.jp/kokugo_nihongo/sisaku/joho/joho/series/56/56.html
  • Microsoft サポート「Microsoft 日本語 IME」:https://support.microsoft.com/ja-jp/windows/microsoft-日本語-ime-da40471d-6b91-4042-ae8b-713a96476916
  • Microsoft サポート「ASCII または Unicode ラテン語ベースの記号と文字を挿入する」:https://support.microsoft.com/ja-jp/office/ascii-または-unicode-のラテン語ベースの記号と文字を挿入する-d13f58d3-7bcb-44a7-a4d5-972ee12e50e0
  • Apple サポート「Macで絵文字と記号を使用する」:https://support.apple.com/ja-jp/guide/mac-help/mchlp1560/mac
  • Apple サポート「iPhoneでよく使うテキストの代わりになる表現を設定する」:https://support.apple.com/ja-jp/guide/iphone/iph6d01d862/ios
  • Android「Gboard の便利な使い方を徹底解説! Android で役立つ単語登録などの Tips まとめ」:https://www.android.com/intl/ja_jp/articles/460/
  • MDN「Unicode 文字クラスエスケープ」:https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Regular_expressions/Unicode_character_class_escape
  • MDN「HTML 属性: pattern」:https://developer.mozilla.org/ja/docs/Web/HTML/Attributes/pattern
  • Google「Mozc」(リポジトリ):https://github.com/google/mozc
  • PostgreSQL 16 文書「生成列」:https://www.postgresql.org/docs/16/ddl-generated-columns.html

確認日:2026年10月29日

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「々の読み方と出し方|変換候補の順位と正規表現・検索の注意を実測」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

成長のヒミツ、 ぜんぶ丸わかり