下記は wp_posts テーブルの post_content カラム (type = LONGTEXT) のデータです。

**対象データ:**

```

    <h1 id="title1">h1</h2>
    
    
    <a href="#title1">aaa</a>
    <a href="#title2">bbb</a>
    <a href="#title3">ccc</a>
    <a href="#title4">ddd</a>
    <a href="#title5">eee</a>
    
    <h2 id="title2">h2</h2>
    
```

`href="#title"` となっている `<a>` タグを全削除したいです。削除後に下記のようになっているのが理想です。

**削除後:**

```

    <h1 id="title1">h1</h2>
    
    <h2 id="title2">h2</h2>
    
```

このようなSQLになると思うのですが、これに `href="#title"` となっている `<a>` タグという条件を加えたいです。  
MySQL 5.6を使っています。

```

    UPDATE
      wp_posts
    SET
      post_content = REPLACE(post_content, '<a href="#title1">aaa</a>', '') WHERE wp_posts.post_content LIKE '%<a href="#title1">aaa</a>%';
    
```
CC BY-SA 4.0
2021-04-06T04:00:25.850
75113
2022-07-10T11:02:40.217
2021-04-06T10:04:28.880
19110
43875
question
mysql sql 正規表現
SQLの正規表現で文字列中の<a>タグを全削除したい
title の部分が任意の文字列という前提であれば、

```

    REGEXP_REPLACE(post_content, '<a href="#.*?">.*?</a>', '')
    
```

という感じでしょうか。
CC BY-SA 4.0
2021-04-06T04:27:28.023
75114
2021-04-06T04:36:05.277
2021-04-06T04:36:05.277
7290
7290
75113
answer