====== 05 Bash 正規表現 ====== 記号 意味 . 改行文字以外の任意の1文字 * 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない ^ 行の先頭 $ 行の末尾 [ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定もできる [^ ] かっこ内の任意の1文字に不一致。ハイフン(-)で範囲指定もできる \+ 直前の文字の1個以上の繰り返しに一致 \? 直前の文字の0または1文字に一致 \{n\} 直前の文字のn個の繰り返しに一致 \{n,\} 直前の文字のn個以上の繰り返しに一致 \{,m\} 直前の文字のm個以下の繰り返しに一致 \{n,m\} 直前の文字のn個以上,m個以下の繰り返しに一致 pattern1\|pattern2 pattern1またはpattern2のいずれかに一致 \(pattern\) patternをグループ化する。マッチした内容は参照できる \ 正規表現に使われる記号を普通の文字として扱う 記号 意味 Hogege Hogegeに一致 [0-9] 1文字の数字に一致 [a-z] 1文字の小文字アルファベットに一致 [A-Z] 1文字の大文字アルファベットに一致 [0-9a-zA-Z] 1文字の数字またはアルファベットに一致 [0-9]\{4\}/[0-9]\{1,2\}/[0-9]\{1,2\} yyyy/mm/ddに一致(mmとddは1文字でもよい)。ただし,sedの置換などでは/記号を\/とエスケープする必要がある ^pattern$ 文字列patternだけを含む行 [Gg]rep Grepまたはgrep に一致 ^[^0-9] 行頭が数字でないもの ^.\{10\}$ 10文字の行 test\|TEST testまたはTEST Woo* Woo,Wooo....に一致 [:alnum:](英数字[0-9A-Za-z]), [:alpha:](英字[A-Za-z]), [:cntrl:](制御文字[\000-\037\177]), [:digit:](数字[0-9]), [:graph:](グラフ文字[\041-\176]), [:lower:](英小文字[a-z]), [:print:](印刷可能文字[\040-\176]), [:punct:](記号), [:space:](空白文字[ \t\n\r\v\f]), [:upper:](英大文字[A-Z]), [:xdigit:](16進数字[0-9A-Fa-f]) {{tag>bash}}