---
title: 【公開】LPIC101_regex_B17
tags: 
author: [Yukiko](https://image.docswell.com/user/yukiko_it)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/8JDKXM64EG.jpg?width=480
description: 【公開】LPIC101_regex_B17 by Yukiko
published: April 22, 26
canonical: https://image.docswell.com/s/yukiko_it/Z27M7M-2026-04-22-004858
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/8JDKXM64EG.jpg)

LPIC-101 v5.0
｜ 小豆 本対 応
正規表現の文字クラス
[a-z] で単一の小文字にマッチさせる
新卒・文系・未経験のための IT 研修
POSIX形式 [:lower:] も合わせて覚える
うさうさラーメン店方式


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VEPKPRYV78.jpg)

PROBLEM
今日のお題 ― B問題セット 問17
単一の小文字を表す正規表現はどれですか。
1
:LOWER:
2
[a-z]
3
!AZ
4
%c
5
{az}
※ 単一選択（正解は1つ）
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
2 / 10


# Page. 3

![Page Image](https://bcdn.docswell.com/page/27VV2RGR7Q.jpg)

① この用語
正規表現の「文字クラス」
用語
[a-z]
文字クラス（Character Class）
うさうさラーメン店で例えると
お得セット:
「トッピングは[卵・ネギ・海苔・メンマ]」
から1つ選んでください
[ ] は「この中のどれか1文字」
にマッチさせる記号。
↓
a-z のようにハイフンを挟むと
「範囲」を指定できる。
→ [a-z] = a, b, c, ... z の
いずれか1文字（合計26通り）
[a-z]
= 小文字の中から
「どれか1文字」を選ぶ券
26通りのどれか1つがマッチ
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
3 / 10


# Page. 4

![Page Image](https://bcdn.docswell.com/page/5JGLRM867L.jpg)

② 簡単に
[a-z]
基本の文字クラス早見表
小文字1文字
a, b, c, ... z
[0-9]
大文字1文字
A, B, C, ... Z
数字1文字
0, 1, 2, ... 9
[A-Za-z0-9]
[A-Z]
[A-Za-z]
英字1文字
a-z と A-Z のどれか
英数字1文字
a-z, A-Z, 0-9 のどれか
[^a-z]
小文字以外(否定)
^ で否定。A-Z, 数字, 記号
★ 覚え方: [ ]内に範囲を書くと「そのどれか1文字」。^ で始めると否定。
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
4 / 10


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47QYVR92EP.jpg)

POSIX文字クラス ― [:lower:] も同じ意味
③ 詳しく①
[a-z] と全く同じ意味を、名前で書ける書式が POSIX 文字クラス
範囲記法（短い）
POSIX記法（明示的）
≡
[a-z]
[[:lower:]]
どこでも使える（BRE/ERE共通）
ロケール依存。意図が伝わる
代表的な POSIX 文字クラス
[:lower:]
=[a-z]
小文字
[:alpha:]
[:upper:]
=[A-Z]
大文字
=[A-Za-z]
英字
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
[:alnum:]
英数字
[:digit:]
=[0-9]
数字
=[A-Za-z0-9]
[:space:]
=空白類
スペース・タブ・改行
5 / 10


# Page. 6

![Page Image](https://bcdn.docswell.com/page/KE4WM8XPJ1.jpg)

③ 詳しく②
紛らわしい無効な記法 ― 他の選択肢の正体
:LOWER:
POSIXっぽいが違う
!AZ
!は正規表現で使わない
%c
printf のフォーマット
{az}
ブレース展開と混同
→ 正しいPOSIX記法は [:lower:]。全体を [ ] で囲み、大文字も不可。
→ ! に特別な意味はない。否定は [ ] の中の ^ を使う（[^A-Z] など）。
→ %c は printf/C言語で「1文字表示」の意味。正規表現ではない。
→ {} は bash のブレース展開。{a,z} と書いても正規表現としては無効。
★ 見分け方: [ ] で囲まれていて、中に a-z のような範囲があるか
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
6 / 10


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L71Y82NXJG.jpg)

③ 詳しく③
実機ハンズオン ― grep / sed で試す
[a-z] は BRE・ERE どちらでも使える基本記法。grep/egrep/sed で共通。
Terminal ― grep で試す
# 小文字1文字を含む行だけ
$ echo -e &#039;ABC\nabc\n123&#039; | \
grep &#039;[a-z]&#039;
abc
# POSIXでも同じ結果
$ ... | grep &#039;[[:lower:]]&#039;
abc
# 否定: 小文字以外にマッチ
$ ... | grep &#039;[^a-z]&#039;
ABC
123
BRE と ERE
✓ BRE (基本正規表現)
grep / sed のデフォルト
[a-z] / [^a-z] / ^ / $
. / * が基本メタ文字
✓ ERE (拡張正規表現)
grep -E / egrep / sed -E
+ / ? / | / ( ) が追加で使える
[a-z] は両方で同じ動作
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
7 / 10


# Page. 8

![Page Image](https://bcdn.docswell.com/page/G7WGZR4KE2.jpg)

APPLY
原理原則で5択を斬る
#
コマンド
判定
理由
1
:LOWER:
× 誤り
POSIX風だが誤り。正しくは [[:lower:]] で全体を [ ] で囲む必要がある
2
[a-z]
○ 正解
文字クラス＋範囲記法。a〜z の小文字26通りのいずれか1文字にマッチ
3
!AZ
× 誤り
! は正規表現の記号ではない。否定は [ ] 内で ^ を使う
4
%c
× 誤り
%c は printf の書式指定子。正規表現とは別の体系
5
{az}
× 誤り
{} は bashのブレース展開。正規表現では回数指定 ({2,5}) 用
→ 正解は 2番。[a-z] = 「小文字26通りの中から1文字」。
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
8 / 10


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JZL1R2NE3.jpg)

ANSWER
正解 ― 文字クラス [a-z]
正解 ②
[a-z]
a〜zの小文字26通りから1文字にマッチする文字クラス
3つの書き方を覚える
範囲記法
POSIX記法
否定(応用)
[a-z]
[[:lower:]]
[^a-z]
短い・万能
意図が伝わる
「小文字以外」
LPIC-101 ｜ 正規表現 ― 文字クラス [a-z]
9 / 10


# Page. 10

![Page Image](https://bcdn.docswell.com/page/YE6WLRV9EV.jpg)

④ 原理原則・一言でまとめ
[]は
「この中のどれか1文字」。範囲は a-z / 否定は ^
[a-z]
[A-Z]
[0-9]
小文字26通り
大文字26通り
数字10通り
POSIX形式 [[:lower:]] = [a-z] も合わせて覚える
面白きなき世を面白く ─ 石黒 友季子


