勉強メモ26＿サクラエディタの文字列置換で正規表現を利用するときのメモ（つどつど更新記事）



## 0 はじめに

- サクラエディタで何かのファイルを開いて、
正規表現を使って文字を置換する場合の色々なメモです。

## サクラエディタで使える基本的な正規表現についてはgithubの公式サイトがある
https://sakura-editor.github.io/help/HLP000089.html

## パターン1　空行を削除する

- ##### ①置換前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/ea5d8917-f787-dbd7-8814-c6e1db1dc6a5.png)


- ##### ②置換処理
    - 置換前：^[\r\n]+
    - 置換後：
　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/2ac63b5a-7082-5a20-a4cd-c38fc73830bf.png)

- ##### ③置換後の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/147264c6-e7d6-9f63-74ee-3eb9631252f6.png)

## パターン2　文字列を複数検索

- ##### ①検索前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/28dd443e-d1c5-03ea-b19b-4f0e2322dcd7.png)
- ##### ②検索処理
    - 検索条件：あああああ|おおおおお
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/c2645cec-6f9f-be70-4298-8fb61acb9615.png)
- ##### ③検索後の結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/01b9fa9b-1d07-ce4c-9486-d8e794b95659.png)

## パターン3　VBAのソースの中で空行、改行、コメントアウト以外を取得

- ##### ①検索前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/59518d7e-da05-1593-4a96-d839f380b167.png)
- ##### ②検索処理
    - 検索条件：^(?!.*'|[\r\n+]).+$
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/5bd7172a-55d2-8640-6d20-1bb6968e9a9f.png)

- ##### ③検索後の結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/c9844330-798a-8d9b-f35d-7cdd577f92c4.png)

## パターン4　VBAのソースの中でコメントアウト行を取得

- ##### ①検索前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/dfe24934-6182-c445-9613-802473932569.png)

- ##### ②検索処理
    - 検索条件：.*'
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/5a6bc198-ef84-0513-2f6e-c4188581cdf3.png)
- ##### ③検索後の結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/5d028432-142e-f26f-f1aa-4fd07206da84.png)

## パターン5　Grepの正規表現
- ##### ①検索するディレクトリー

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/17cf13c8-3a21-6c1b-6e3f-171b1a86cb50.png)

- ##### ②テキストファイルの中身

```:common2015-10-05-11-44.log
test

aaaa


test
```

```:common2015-11-22-10-34.log
errerwrwe

test


fsdfafa
```

```:common2015-12-01-11-44 .log
rrrrr


dfsfsdfasftest


test


sadfadfadfatestfgsfgsgsdg
```

- ##### ③Grep検索方法
    - パターン1　ファイル項目を空白区切りで検索
    - ファイル：common2015-10*.log common2015-11*.log common2015-12*.log
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/5481df58-88ac-67a9-029b-43de732fd9c1.png)

    - パターン2　ファイル項目で正規表現は使えない
    - ファイル：common2015-(10|11|12)-(05|22|11).*log
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/3d75adc3-d781-f97d-ee9b-0e4c50fcf154.png)

##### ④Grep検索結果

```:パターン1
検索条件  "test"
検索対象   common2015-10*.log common2015-11*.log common2015-12*.log
フォルダ   C:\kaihatsu\02_sakuraEditor\grep
    (サブフォルダも検索)
    (英大文字小文字を区別しない)
    (正規表現:bregonig.dll Ver.3.06 with Onigmo 5.15.0)
    (文字コードセットの自動判別)
    (一致した行を出力)


C:\kaihatsu\02_sakuraEditor\grep\common2015-10-05-11-44.log(1,1)  [SJIS]: test
C:\kaihatsu\02_sakuraEditor\grep\common2015-10-05-11-44.log(6,1)  [SJIS]: test
C:\kaihatsu\02_sakuraEditor\grep\common2015-11-22-10-34.log(3,1)  [SJIS]: test
C:\kaihatsu\02_sakuraEditor\grep\common2015-12-01-11-44 .log(4,11)  [SJIS]: dfsfsdfasftest
C:\kaihatsu\02_sakuraEditor\grep\common2015-12-01-11-44 .log(7,1)  [SJIS]: test
C:\kaihatsu\02_sakuraEditor\grep\common2015-12-01-11-44 .log(10,12)  [SJIS]: sadfadfadfatestfgsfgsgsdg
6 個が検索されました。
```
```:パターン2
検索条件  "test"
検索対象   common2015-(10|11|12)-(05|22|11).*log
フォルダ   C:\kaihatsu\02_sakuraEditor\grep
    (サブフォルダも検索)
    (英大文字小文字を区別しない)
    (正規表現:bregonig.dll Ver.3.06 with Onigmo 5.15.0)
    (文字コードセットの自動判別)
    (一致した行を出力)
0 個が検索されました。
```

## パターン6　番号から始まる文の前に★を挿入する

- ##### ①置換前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/8897db14-5b53-c810-277d-1e7fb69e7a28.png)

- ##### ②置換処理
    - 置換前：(^[0-9].*)
    - 置換後：★$1
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/1fd8f2e4-fb50-24a7-aa29-a71fa1609f70.png)


- ##### ③置換後の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/763452f7-a134-b95b-60e8-dfc6214c1377.png)

## パターン7 HTMLタグで囲まれた文字の部分だけ取得
^\s*
 <  .* >\r\n \r\n
^\s*(\r\n|\r|\n)

## パターン8 先頭が#1、#2、#10、#11とかなっているところを# 1、# 2、# 3、# 10、みたいに#と数字の中に半角スペースを挿入する

- ①置換前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/92363eee-73fa-eb61-31ce-0a0e3f10295a.png)

- ##### ②置換処理
    - 置換前：^#(\d{1,2})
    - 置換後：# $1
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/344d9626-650f-71a6-2d3c-8c3e9abfef3d.png)

- ##### ③置換後の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/48ff1821-a7de-e056-d22d-2f42f7580955.png)

## パターン9　年号Y年MM年DD日を検索する方法
- 検索前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/49e8ac07-0632-44c4-8329-a0cbbbcb47bb.png)

- 検索内容
    - 条件：(\D+)(\d+)年(\d+)月(\d+)日
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/92c746ad-0a31-f67f-7e29-8aeadbd7cdd2.png)

- 検索後の結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/a01f04c2-dfb6-345c-b92a-ae62ffee20bc.png)

## パターン10 先頭が#、##、###、####とかなっているところを# 、## 、### 、#### 、みたいに#の後に半角スペースを挿入する

- ①置換前の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/bcf7b8b1-4bfb-45bd-8f91-ac90c055fd9e.png)


- ##### ②置換処理
    - 置換前：^(#{1,4})
    - 置換後：$1 ※←半角スペースを入れる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/16e6233e-5247-4d8d-948f-e5739673fa8b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/dca19928-dd02-4235-b25c-ba742047f2a4.png)


- ##### ③置換後の内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/730323/da5565b7-cefc-4c99-917d-f895eaaa1b02.png)

## パターン11 グループ化の置換　,E,もしくは,C,になっていたら2に置換する
- ##### ①置換前の内容##### 
```
3333,111,E,2222,C,wwwww


```

- ##### ②置換処理#####
    - 置換前：`(,[EC],)`
    - 置換後：`2`

- ##### ③置換後の内容##### 

```
3333,111222222wwwww


```