正規表現 (Regular Expression)

基 本

記号意味用例
^行の先頭、否定 (状況で使い分け)^(だけ書いた場合):全ての行 ← 行頭は全ての行にあるから
^a:a で始まる行(行頭)
[^a]:a(小文字の'a')以外の一文字
$行の末尾$(だけ書いた場合):全ての行 ← 行末は全ての行にあるから
jpg$:行末(この場合は拡張子)が jpgで終わる行
.任意の一文字..:任意の2文字の文字列(文字は記号、スペースなど何でも良いが、文字数は2文字)
..a:3文字の文字列で最初の2文字は何でも良いが3文字目は(小文字の) 'a' の文字列
*(必ず何か文字を指定して)直前の文字の0回以上の繰り返しa*:'a'、'aa'、'aaa'、だけでなく、'a' がゼロ回=どんな文字でもヒット
aa*:a が一文字あることの指定 → 'a'、'aa'、'aaa'、'aaaa' にヒット
?(必ず何か文字を指定して)直前の文字の 0回、または 1回 の繰り返しnecess?ary:'necesary' または 'necessary'
+(必ず何か文字を指定して)直前の文字の 1回 の繰り返し[A-Za-z]+アルファベットだけの文字列:
[][] の中のどれか一文字[abc]:'a' or 'b' or 'c'
[abc]d:'ad' or 'bd' or 'cd'
[^a]b:先頭が 'a' 以外で後ろに 'b' が続く文字
前後の文字(列)a|b:a または b
abc|def:abc または def
()()内をひとまとまりとして解釈sle(e|a)p: sleepまたは sleap
{min,max}直前の文字のmin 回以上、max 回以下の繰り返しe{3,5}:eee, eeee, eeeee
{min}直前の文字のmin 回以上の繰り返し
{,max}直前の文字のゼロ回以上、max 回以下の繰り返し

posix ブラケット表現

記号意味用例
[[:lower:]]アルファベットの小文字の文字集合[a-z] と同義
[[:upper:]]アルファベットの大文字の文字集合[A-Z] と同義
[[:alpha:]]アルファベットの文字集合[A-Za-z] と同義
[[:digit:]]数字の文字集合[0-9] と同義
[[:alnum:]]アルファベットと数字の文字集合[[[0-9A-Za-z] と同義
[[:graph:]]スペース以外の表示可能文字[[:alnum:]] + 記号(|、&、* など)
[[:blank:]]空白文字スペース、タブ
[[:space:]]空白文字[[:blank:]] + 改行
[[:print:]]表示可能な文字の文字集合[[:alnum:]] + [[:space:]]
[^[:(定義):]]ブラケット表現の否定

応用例 (一般)

応用例 (高級)

sed 's/^\([^# ]*\) *#.$/\/' (対象ファイル名) | tr -s "\n"

参考 URL


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS