RegularExpressions
の編集
index.php?RegularExpressions
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#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文字の文字列(文字は記号、スペースなど何でも良いが、文字数は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 ブラケット表現 [#s94f888c] LEFT: |記号|意味|用例|h |[[: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:]]| |[^[:(定義):]]|ブラケット表現の否定|| *** 応用例 (一般) [#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/7c8811b5cf37d700adc4]]
タイムスタンプを変更しない
#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文字の文字列(文字は記号、スペースなど何でも良いが、文字数は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 ブラケット表現 [#s94f888c] LEFT: |記号|意味|用例|h |[[: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:]]| |[^[:(定義):]]|ブラケット表現の否定|| *** 応用例 (一般) [#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/7c8811b5cf37d700adc4]]
テキスト整形のルールを表示する