ドットインストールの学習メモです
##正規表現
- 文字列の検索パターンを表現するた目の記法
正規表現で検索する command + f .*をクリック。
#?, +, * 0以上1以下、 0以上、 1以上でヒットを増やす
#^, $, \b
- ^ 行の先頭 ^\d
- $ 行の末尾 \d$
- \b 単語の区切り \bseki\b
#選択子
[abc|123] abc or 123
example.com
example.net
example\.com|example.net
example\.(com|net)
#文字クラス
[abc] a,b,cのどれか一文字
bat cat hat
bat|cat|hat
(b|c|h)at
[bch]at
#文字クラス内で使えるメタ文字
^ 否定 [の直後[^の場合だけ
bat cat hat eat
[^c]at c以外の一文字の後にat bat hat eat
[^cb]at cb以外の一文字の後にat hat eat
「-」 範囲を意味する。
しかし文字コード表に沿った内容でしか指定できないのが注意。
A1
Q31
N23
E56
L4
[A-F]\d+ A~Fの英字の後に数字一字以上
#文字クラス内のエスケープ文字
文字クラス内で特殊な意味を持つ^ -をエスケープさせる必要がある。
03-2234-5678
03^2234^5678
03.2234.5678
03 2234 5678
^\d{2}[\^\-.]
^\d{2}[-.^ ] 上と同じ
^\d{2}[-.^ ]\d{4}[-.^ ]\d{4} 全てマッチさせるとこうなる
#タブと改行
タブと改行
\t タブ
\n 改行(macOS)
\r\n|\r|\n (全てのos)
改行がめちゃくちゃなファイルの空の改行をなくす。
abc
a
bb
cc
cc
\n+ で検索 改行数が1以上
\n に置換 ただの改行
#キャプチャ (),$1, $2
キャプチャを使って置換
検索
サイト名とurlのリストを
htmlのlinkタグにしておく場合。
サイト名(.+)
カンマとスペースのあるなし ,\s
url (.+)
置換
サイト名は$1
urlは$2で取り出せる。
<a href="$2">$1</a>
#後方参照
3,4,5,6,4,4,5,5,7,8,9,9,
\d,\d
前と後ろの\dが同じか確かめたかった場合
最初の\dを()でキャプチャ。
正規表現の中では、\1,\2などで比べる。
(\d),\1