普通の検索は完全一致。
いろんな文字を同時にマッチできます。
一括で置換できます。
⌘+F
で検索窓を開こう正規表現でも、普通の検索と同じように完全一致できます。
ワード Script
は、2箇所でマッチ。
検索文字 .
は、あらゆる1文字にマッチ。
文字 a
で置換するとこうなる。
aaaaaaaaaaaaaaaaaaaaaaaaaa
検索ワード ....Script
は、JavaScript
と TypeScript
の両方にマッチ。
^
は、行頭にマッチ。TypeScript
は行頭に来てないので ^Type
はマッチしない!
検索文字 $
は、行末にマッチ。
文字 a
, b
, c
にマッチ。
無理やり数字にマッチさせるとこう。
ハイフンでまとめて指定できます。(小文字)
ハイフンでまとめて指定できます。(大文字)
ハイフンでまとめて指定できます。(数字)
+
直前の文字の繰り返しにマッチa
の後に b
が1回以上続くケースにマッチ*
は +
と同じく、直前の文字の繰り返しにマッチ*
は +
と異なり0回 (ないこと) にもマッチするa
の間に「b
が0回ある」という事実にマッチしている…↓ (置換)
_a_a_a_
グループ (...)
を使えば、ワードの繰り返しにもマッチできます。
グループ (...|...)
を使えば、複数ワードのどれかにマッチできます。
abc
の様に普通にマッチはできない。\
を使ってエスケープをすると文字としてマッチできる。 . → \.
^ → \^
$ → \$
[ → \[
] → \]
+ → \+
* → \*
( → \(
) → \)
| → \|
[...]
を使う技もある。]
, -
以外はエススケープが不要。[.^$+*()|]
Taro
, Hanako
, Mike
にマッチする正規表現 [A-Za-z]+
が丸括弧で囲まれています$1
がそれぞれ Taro
, Hanako
, Mike
に置き換わりました$1
, $2
, $3
… で参照します^(?!.*残したいワード).*\n
[info] 2023-03-15 10:15:30 - GET /some/path - 200 OK - 123ms
[error] 2023-03-20 08:20:15 - GET /no/such/path - 404 Not Found - 456ms
[error] 2023-03-20 12:00:03 - POST /some/path - 500 Internal Server Error - 111ms
[error] 2023-03-21 23:55:55 - GET /some/path - 401 Anauthorized - 10ms
[info] 2023-03-15 10:15:30 - GET /some/path - 200 OK - 123ms
[error] 2023-03-20 08:20:15 - GET /no/such/path - 404 Not Found - 456ms
[error] 2023-03-20 12:00:03 - POST /some/path - 500 Internal Server Error - 111ms
[error] 2023-03-21 23:55:55 - GET /some/path - 401 Anauthorized - 10ms
↓ (置換)
123ms
456ms
111ms
10ms
"log"
JSONキーが示す値のみを抜き出して見ましょう。 (json unescape は不要){ "log": "[info] 2023-03-15 10:15:30 - GET /some/path - 200 OK - 123ms", "stream": "stdout", "time": "2023-03-15T10:15:30.123456789Z" }
{ "log": "[error] 2023-03-20 08:20:15 - GET /no/such/path - 404 Not Found - 456ms", "stream": "stdout", "time": "2023-03-20T08:20:15.333333333Z" }
↓ (置換)
[info] 2023-03-15 10:15:30 - GET /some/path - 200 OK - 123ms
[error] 2023-03-20 08:20:15 - GET /no/such/path - 404 Not Found - 456ms
[info] 2023-03-15 10:15:30 - GET /some/path - 200 OK - 123ms
[error] 2023-03-20 08:20:15 - GET /no/such/path - 404 Not Found - 456ms
↓ (置換)
2023-03-15 10:15:30,info,GET /some/path - 200 OK - 123ms
2023-03-20 08:20:15,error,GET /no/such/path - 404 Not Found - 456ms