普通の検索は完全一致。

いろんな文字を同時にマッチできます。

一括で置換できます。

⌘+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