正規表現をゼロから学ぶ:30分でマスターするテキスト処理
开发教程
なぜ正規表現を学ぶのか?
1行の正規表現で20行の文字列処理コードを置き換えられます。
1000行のログからすべてのIPアドレスを抽出する場合——通常のコードでは20行以上。正規表現なら:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} の1行で完了。
基本構文
| 文字 | 意味 | 例 |
|---|---|---|
\d |
数字 [0-9] | \d{3} → 123 |
\w |
単語文字 | \w+ → hello |
\s |
空白文字 | a\sb → "a b" |
数量子
| 数量子 | 意味 |
|---|---|
* |
0回以上 |
+ |
1回以上 |
{n} |
ちょうどn回 |
実践レシピ
メール: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
電話: \d{3}-\d{3}-\d{4}
URL: https?://[^\s/$.?#].[^\s]*
日付: \d{4}-\d{2}-\d{2}
IP: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
よくある落とし穴:貪欲 vs 遅延
貪欲: <.*> "<div>hello</div>" → 文字列全体にマッチ
遅延: <.*?> "<div>hello</div>" → <div>と</div>のみ
? を付けて遅延マッチに。
正規表現テスターで実際に試してみましょう。
ブラウザローカルツールを無料で試す →
#正则表达式#Regex#文本处理#编程入门#开发工具