はじめにお読みください
ここではよく使われる正規表現を抜粋し、アイテム名の変更をターゲットとした内容および表現にしています。
またここでは正規表現自体の説明はしていませんことをあらかじめご了承願います。
もくじ
文字のエスケープ
正規表現において通常の文字と制御文字を切り替えます。
| \ (バックスラッシュ) | 直後の文字が(正規表現における)制御文字の場合は通常の文字として、反対に通常の文字の場合は(正規表現における)制御文字として扱います。 |
|---|
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| \ | \$ | € | $99 | €99 |
文字クラス
以下に挙げる文字セットのいずれかとマッチします。
| . | 任意の1文字 |
|---|---|
| \s | スペース類の文字セット |
| \S | 前述の\s以外の文字セット |
| \w | (英語、数字など)単語を構成する文字セット |
| \W | 前述の\w以外の文字セット |
| \d | 数字の文字セット |
| \D | 前述の\d以外の文字セット |
| [x1x2x3] | x1、x2、x3 の文字セット |
| [^x1x2x3] | 前述の[x1x2x3]以外の文字セット |
| [x–y] | (ハイフンで繋げられた)x から y までの範囲にある文字セット (含まれる文字は Unicode コードポイントの順序によって決まります) |
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| . | …. | ap | example | apple |
| \s | \s | @ | <I’m No.1> | <I’m@No.1> |
| \S | \S | x | <I’m No.1> | xxxx xxxxx |
| \w | \w | x | <I‘m No.1> | <x‘x xx.x> |
| \W | \W | _ | <I‘m No.1> | _I_m_No_1_ |
| \d | \d\d | SE | iPhone 16 | iPhone SE |
| \D | \D | – | 123_456 789+0 | 123–456–789–0 |
| [x1x2x3] | [AD35] | _ | ABCDE12345 | _BC_E12_4_ |
| [^x1x2x3] | [^AD35] | _ | ABCDE12345 | A__D__3_5 |
| [x–y] | [A-C0-3] | _ | ABCDE12345 | ___DE___45 |
アンカー
文字列の先頭または末尾にマッチします。
| ^ | アイテム名の先頭 |
|---|---|
| $ | アイテム名の末尾 |
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| ^ | ^ | the | BEGIN | theBEGIN |
| $ | $ | !! | END | END!! |
量指定子
直前の文字の繰り返しにマッチします。
| * | 0 回以上の繰り返しに(できるだけ長く)マッチ |
|---|---|
| + | 1 回以上の繰り返しに(できるだけ長く)マッチ |
| *? | 0 回以上の繰り返しに(できるだけ短く)マッチ |
| +? | 1 回以上の繰り返しに(できるだけ短く)マッチ |
| ? | 0 回または 1 回の繰り返しに(1 回のマッチを優先して)マッチ |
| ?? | 0 回または 1 回の繰り返しに(0 回のマッチを優先して)マッチ |
| {n} | n 回の繰り返しにマッチ |
| {n,} | n 回以上の繰り返しに(できるだけ長く)マッチ |
| {n,m} | n 回から m 回の繰り返しに(最大 m 回までできるだけ多く)マッチ |
| {n,m}? | n 回から m 回の繰り返しに(最小 n 回以上でできるだけ短く)マッチ |
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| * | AB* | _ | ABCCBA | _CCB_ |
| + | \d+ | D | 123–456789 | D–D |
| *? | ab*? | _ | abcac | _bc_c |
| +? | ab+? | _ | abcac | _cac |
| ? | ab? | _ | abcac | _c_c |
| ?? | ab?? | _ | abcac | _bc_c |
| {n} | \d{6} | X | 123-456789 | 123-X |
| {n,} | \d{3,} | X | 12-345–6789 | 12-X–X |
| {n,m} | \d{6,9} | X | 1234567890 | X0 |
| {n,m}? | \d{6,10}? | _ | 1234567890 | _7890 |
選択演算子
| | (バーチカルバー) | | の左側と右側のいずれかにマッチ |
|---|
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| | | a|p | _ | sample | s_m_le |
キャプチャ(グループ化)
他の場所から参照できるように設定します。
| (x) | マッチした部分をキャプチャし 1 から始まる序数(連番)を設定することで、あとで呼び出せるようにします。 |
|---|
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| (x) | (\d+)\w+ | $1 | 123ABC | 123 |
置換
上述した書式で表現された文字列において、置換時に使用可能な正規表現です。
| $n | キャプチャグループの n 番目を $n とすることで置換テキストとして利用します |
|---|---|
| \ (バックスラッシュ) | 直後の文字を通常の文字として扱います (置換テキストにおいては「$」「\」を通常の文字として扱う場合に必要ですが、他の文字に使用しても問題はありません) |
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| $n | AB(\w)(\w) | $2$1 | ABCD | DC |
| \ | (\d+) | \$$1 | ABC99 | ABC$99 |
後方参照
キャプチャしたものをその後方で(マッチさせるために)参照します。
| \n | キャプチャグループの n 番目(序数)が \n でマッチします |
|---|
ここをクリックして置換の例を以下に表示
| 書式 | 検索 | 置換 | リネーム前 | リネーム後 |
|---|---|---|---|---|
| \n | (ab)(.+)\1 | $2 | abXYZab | XYZ |
補足
もっと詳しく知りたい方は以下を参照してください。
- Apple Developer: https://developer.apple.com/documentation/foundation/nsregularexpression(英語)
- ICU Documentation: https://unicode-org.github.io/icu/userguide/strings/regexp.html(英語)
