RegularExpressions
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents();
正規表現 (Regular Expression)
*** 文字クラス [#r97ad8c6]
|構文 |Matches|h
|[abc] |a、b、または c (単純クラス)|
|[^abc] |a、b、c 以外の文字 (否定)|
|[a-zA-Z] |a 〜 z または A 〜 Z (範囲)|
|[a-d[m-p]] |a 〜 d、または m 〜 p:[a-dm-p] 結合|
|[a-z&&[def]] |d、e、f 交差|
|[a-z&&[^bc]] |b と c を除く a 〜 z:[ad-z] 減算|
|[a-z&&[^m-p]] |m 〜 p を除く a 〜 z:[a-lq-z] 減算|
*** 定義済みの文字クラス [#t849a45d]
|構文 |Matches|h
|. |任意の文字 (行末記号とマッチする場合もある)|
|\d |数字: [0-9]|
|\D |数字以外: [^0-9]|
|\s |空白文字:[ \t\n\x0B\f\r]|
|\S |非空白文字:[^\s]|
|\w |単語構成文字:[a-zA-Z_0-9]|
|\W |非単語文字:[^\w]|
*** 境界正規表現エンジン [#i4c01fdd]
|構文 |Matches|h
|^ |行の先頭|
|$ |行の末尾|
|\b |単語境界|
|\B |非単語境界|
|\A |入力の先頭|
|\G |前回のマッチの末尾|
|\Z |最後の行末記号がある場合は、それを除く入力の末尾|
|\z |入力の末尾|
*** 基 本 [#v09651aa]
LEFT:
|記号|意味|用例|h
|^|行の先頭、否定 (状況で使い分け)|^(だけ書いた場合):...
|~|~|^a:a で始まる行(行頭)|
|~|~|[^a]:a(小文字の'a')以外の一文字|
|$|行の末尾|$(だけ書いた場合):全ての行 ← 行末は全ての行...
|~|~|jpg$:行末(この場合は拡張子)が jpgで終わる行|
|.|任意の一文字|..:任意の2文字の文字列(文字は記号、ス...
|~|~|..a:3文字の文字列で最初の2文字は何でも良いが3文字...
|*|(必ず何か文字を指定して)直前の文字の0回以上の繰り返...
|~|~|aa*:a が一文字あることの指定 → 'a'、'aa'、'aaa'、'a...
|?|(必ず何か文字を指定して)直前の文字の 0回、または 1...
|+|(必ず何か文字を指定して)直前の文字の 1回 の繰り返し...
|[]|[] の中のどれか一文字|[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または ...
|{min,max}|直前の文字のmin 回以上、max 回以下の繰り返し|e...
|{min}|直前の文字のmin 回以上の繰り返し||
|{,max}|直前の文字のゼロ回以上、max 回以下の繰り返し||
*** posix ブラケット表現 [#s94f888c]
LEFT:
|記号|意味|用例|h
|[[:lower:]]|アルファベットの小文字の文字集合|[a-z] と...
|[[:upper:]]|アルファベットの大文字の文字集合|[A-Z] と...
|[[:alpha:]]|アルファベットの文字集合|[A-Za-z] と同義|
|[[:digit:]]|数字の文字集合|[0-9] と同義|
|[[:alnum:]]|アルファベットと数字の文字集合|[[[0-9A-Za-...
|[[:graph:]]|スペース以外の表示可能文字|[[:alnum:]] + ...
|[[:blank:]]|空白文字|スペース、タブ|
|[[:space:]]|空白文字|[[:blank:]] + 改行|
|[[:print:]]|表示可能な文字の文字集合|[[:alnum:]] + [[...
|[^[:(定義):]]|ブラケット表現の否定||
*** 応用例 (一般) [#w1a1c50e]
*** 応用例 (高級) [#td67c347]
- コメント行を取り除く
sed 's/^\([^# ]*\) *#.$/\/' (対象ファイル名) | tr -s "\n"
- 数字を3ケタで区切る
$num=~s/(\d{1,3})(?=(?:\d{3})+(?!\d))/$1,/g;
*** 参考 URL [#s93fc166]
- [[正規表現の基本:https://qiita.com/sea_ship/items/7c881...
終了行:
#contents();
正規表現 (Regular Expression)
*** 文字クラス [#r97ad8c6]
|構文 |Matches|h
|[abc] |a、b、または c (単純クラス)|
|[^abc] |a、b、c 以外の文字 (否定)|
|[a-zA-Z] |a 〜 z または A 〜 Z (範囲)|
|[a-d[m-p]] |a 〜 d、または m 〜 p:[a-dm-p] 結合|
|[a-z&&[def]] |d、e、f 交差|
|[a-z&&[^bc]] |b と c を除く a 〜 z:[ad-z] 減算|
|[a-z&&[^m-p]] |m 〜 p を除く a 〜 z:[a-lq-z] 減算|
*** 定義済みの文字クラス [#t849a45d]
|構文 |Matches|h
|. |任意の文字 (行末記号とマッチする場合もある)|
|\d |数字: [0-9]|
|\D |数字以外: [^0-9]|
|\s |空白文字:[ \t\n\x0B\f\r]|
|\S |非空白文字:[^\s]|
|\w |単語構成文字:[a-zA-Z_0-9]|
|\W |非単語文字:[^\w]|
*** 境界正規表現エンジン [#i4c01fdd]
|構文 |Matches|h
|^ |行の先頭|
|$ |行の末尾|
|\b |単語境界|
|\B |非単語境界|
|\A |入力の先頭|
|\G |前回のマッチの末尾|
|\Z |最後の行末記号がある場合は、それを除く入力の末尾|
|\z |入力の末尾|
*** 基 本 [#v09651aa]
LEFT:
|記号|意味|用例|h
|^|行の先頭、否定 (状況で使い分け)|^(だけ書いた場合):...
|~|~|^a:a で始まる行(行頭)|
|~|~|[^a]:a(小文字の'a')以外の一文字|
|$|行の末尾|$(だけ書いた場合):全ての行 ← 行末は全ての行...
|~|~|jpg$:行末(この場合は拡張子)が jpgで終わる行|
|.|任意の一文字|..:任意の2文字の文字列(文字は記号、ス...
|~|~|..a:3文字の文字列で最初の2文字は何でも良いが3文字...
|*|(必ず何か文字を指定して)直前の文字の0回以上の繰り返...
|~|~|aa*:a が一文字あることの指定 → 'a'、'aa'、'aaa'、'a...
|?|(必ず何か文字を指定して)直前の文字の 0回、または 1...
|+|(必ず何か文字を指定して)直前の文字の 1回 の繰り返し...
|[]|[] の中のどれか一文字|[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または ...
|{min,max}|直前の文字のmin 回以上、max 回以下の繰り返し|e...
|{min}|直前の文字のmin 回以上の繰り返し||
|{,max}|直前の文字のゼロ回以上、max 回以下の繰り返し||
*** posix ブラケット表現 [#s94f888c]
LEFT:
|記号|意味|用例|h
|[[:lower:]]|アルファベットの小文字の文字集合|[a-z] と...
|[[:upper:]]|アルファベットの大文字の文字集合|[A-Z] と...
|[[:alpha:]]|アルファベットの文字集合|[A-Za-z] と同義|
|[[:digit:]]|数字の文字集合|[0-9] と同義|
|[[:alnum:]]|アルファベットと数字の文字集合|[[[0-9A-Za-...
|[[:graph:]]|スペース以外の表示可能文字|[[:alnum:]] + ...
|[[:blank:]]|空白文字|スペース、タブ|
|[[:space:]]|空白文字|[[:blank:]] + 改行|
|[[:print:]]|表示可能な文字の文字集合|[[:alnum:]] + [[...
|[^[:(定義):]]|ブラケット表現の否定||
*** 応用例 (一般) [#w1a1c50e]
*** 応用例 (高級) [#td67c347]
- コメント行を取り除く
sed 's/^\([^# ]*\) *#.$/\/' (対象ファイル名) | tr -s "\n"
- 数字を3ケタで区切る
$num=~s/(\d{1,3})(?=(?:\d{3})+(?!\d))/$1,/g;
*** 参考 URL [#s93fc166]
- [[正規表現の基本:https://qiita.com/sea_ship/items/7c881...
ページ名: