Python_reライブラリで使用頻度が高い標準メソッド10選

## Python_reライブラリで使用頻度が高い標準メソッド10選

- **用途**: 正規表現によるパターンマッチング、文字列操作。
- 例: `re.match`, `re.search`, `re.findall`。

```python
import re
```

## 使用率が高いメソッド10選
1. **`re.match(pattern, string, flags=0)`**: 文字列の先頭がパターンにマッチするか確認します。
    ```python
    match = re.match(r"^hello", "hello world")
    print(match.group() if match else "No match")
    ```

2. **`re.search(pattern, string, flags=0)`**: 文字列内でパターンが最初に出現する位置を検索します。
    ```python
    search = re.search(r"world", "hello world")
    print(search.group() if search else "No match")
    ```

3. **`re.findall(pattern, string, flags=0)`**: 文字列内でパターンにマッチするすべての部分をリストで返します。
    ```python
    print(re.findall(r"\d+", "123 abc 456"))
    ```

4. **`re.finditer(pattern, string, flags=0)`**: マッチするすべての部分をイテレータで返します。
    ```python
    for match in re.finditer(r"\d+", "123 abc 456"):
        print(match.group())
    ```

5. **`re.sub(pattern, repl, string, count=0, flags=0)`**: パターンにマッチした部分を置換します。
    ```python
    print(re.sub(r"\s", "-", "hello world"))
    ```

6. **`re.split(pattern, string, maxsplit=0, flags=0)`**: パターンに基づいて文字列を分割しリストを返します。
    ```python
    print(re.split(r"\s", "hello world python"))
    ```

7. **`re.fullmatch(pattern, string, flags=0)`**: 文字列全体がパターンにマッチするか確認します。
    ```python
    fullmatch = re.fullmatch(r"hello world", "hello world")
    print(fullmatch.group() if fullmatch else "No match")
    ```

8. **`re.compile(pattern, flags=0)`**: パターンをコンパイルして正規表現オブジェクトを生成します。
    ```python
    pattern = re.compile(r"\d+")
    print(pattern.findall("123 abc 456"))
    ```

9. **`re.escape(string)`**: 文字列中の特殊文字をエスケープします。
    ```python
    print(re.escape("Hello. How are you?"))
    ```

10. **`re.purge()`**: キャッシュされた正規表現をクリアします。
    ```python
    re.purge()
　
↓良く使う正規表現として基礎編と応用編でまとめていますのでこちらもどうぞ↓

https://qiita.com/mitsuha_003/items/15c0b2ce00ed8f1b57ae

# 用語説明

# イテレータ (Iterator)

 
**イテレータ**は、コレクション（例：リスト、タプル、辞書など）内の要素を1つずつ順番にアクセスするための**オブジェクト**のことです。

---

## 特徴
1. **`__iter__()` メソッド**を実装しており、自身がイテラブル（繰り返し可能）なオブジェクトです。
2. **`__next__()` メソッド**を使って、次の要素にアクセスします。
   - 次の要素がない場合は、**`StopIteration` 例外**が発生します。

---

## 役割
- イテレータは、ループ処理（`for` 文）やジェネレータを実現する基盤として使われます。
- データを効率的に扱い、順次処理を可能にします。
- 特に大量のデータを扱う場面でメモリ効率の良いデータ操作が可能です。

---

## Pythonでの具体例

### 1. **基本的な使用例**
リストなどのイテラブルオブジェクトは、`iter()` でイテレータを作成し、`next()` を使用して順に要素にアクセスできます。

```python
# リスト（イテラブルオブジェクト）
data = [1, 2, 3]

# イテレータを生成
iterator = iter(data)

# イテレータから要素を取得
print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # 3

# もう要素がない場合
# print(next(iterator))  # StopIteration エラーが発生
```

# コンパイル (Compile)

## コンパイルとは  
**コンパイル**は、ソースコード（高級プログラミング言語で書かれたコード）を、コンピュータが直接実行できる**機械語**や**中間コード**に変換するプロセスのことです。  
変換作業を行うプログラムは「**コンパイラ**」と呼ばれます。

---

## 主な特徴
1. **ソースコードを機械語に変換**  
   コンピュータが理解できる形式にすることで、プログラムを実行可能にします。

2. **バイナリファイルを生成**  
   生成されたファイル（例: `.exe`, `.out`）はコンパイラがない環境でも実行可能です。

3. **エラー検出**  
   プログラム内の構文エラーや型エラーを変換時に検出します。

---

## コンパイルとインタプリタの違い

| 特性               | コンパイル型言語             | インタプリタ型言語             |
|--------------------|----------------------------|----------------------------|
| **実行方法**        | 一度コンパイルしてから実行    | ソースコードを逐次解釈して実行 |
| **速度**           | 実行速度が速い               | 実行速度が遅い（解釈のオーバーヘッドあり） |
| **デバッグ**       | コンパイル時にエラー検出可能   | 実行時にエラーが発生する      |
| **例**             | C, C++, Rust               | Python, JavaScript         |

---

## コンパイルの流れ  
以下の手順でコンパイルが行われます：

1. **ソースコードの記述**  
   高級言語（例: C, Java）でプログラムを記述。
   ```c
   #include <stdio.h>
   int main() {
       printf("Hello, World!\n");
       return 0;
   }