質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
サクラエディタ

サクラエディタは、日本製のWindows向けテキストエディタでオープンソースで提供されています。カラー強調表示やキー操作の自動実行など多彩な機能が特徴。多くの文字コードに対応しており、アウトライン解析も可能です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

2回答

14725閲覧

サクラエディタのgrepでファイル名の正規表現が動作しない

geikusoo

総合スコア8

サクラエディタ

サクラエディタは、日本製のWindows向けテキストエディタでオープンソースで提供されています。カラー強調表示やキー操作の自動実行など多彩な機能が特徴。多くの文字コードに対応しており、アウトライン解析も可能です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

0クリップ

投稿2020/02/18 10:00

サクラエディタで、
正規表現でファイル名を指定し、マッチしたファイルのみ置換を行いたいのですが、
正規表現がうまく働きません。なぜでしょう??

filename_01.php
filename_02.php
filename_03.php
というファイル群にマッチさせたいので、
「filename_\d+?.php」と指定したらマッチしませんでした。また
「(filename_01|filename_02|filename_03).php」
でもだめでした。

ひょっとして中身のテキストには正規表現が利用できるだけで、
ファイル名に正規表現は使えないのですか??なぜうまくいかないんでしょうか。回答をよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2020/02/18 10:05

どの画面で、どの様に実行したのでしょうか? 画面キャプチャー等を添付して、手順をわかりやすく説明していただけないでしょうか? なお、プログラミングという種子からは外れますので、回答がつきにくいかもしれません。
yodel

2020/02/18 10:22

「filename*.php」でもダメでしょうか? 置換したいのは該当するファイル名ですか?それとも該当するファイルの中身ですか?
Y.H.

2020/02/18 10:30

ファイルの指定ではワイルドカードしか指定できなかったような。
yureighost

2020/02/18 10:35

ファイル名指定はWindows式のワイルドカード指定だけですね。 どうしても数字判定できないとダメならどうしようもないですが、 任意の文字でいいのなら filename_??.php とかで大丈夫でしょう
guest

回答2

0

お察しのとおり、ファイル名では正規表現は使えません。
使える記法は下記の通りです。

https://sakura-editor.github.io/help/HLP000067.html

(ファイル) … 検索対象となるファイル指定します。ワイルドカードが使えます。

カンマ、スペース、セミコロン(, ;)のどれかで区切ると複数の条件を指定できます。
ファイル名に(, ;)を含む場合は、ダブルクオーテーションで囲うことで、ひとつのファイル名として扱えます。
ファイルパターンの先頭に!を付ける(例: !.obj)と,そのパターンに当たるファイルをGrep対象から外します。
ファイルパターンの先頭に#を付ける(例: #
.svn)と、そのパターンに当たるサブフォルダをGrep対象から外します。(sakura:2.1.0.0以降)
指定位置にかかわらず除外指定は検索指定より優先されます.
何も指定しない場合は、「.」を指定したことになります。

そのため、

  • filename_01.php
  • filename_02.php
  • filename_03.php

を検索対象としたい場合、
filename_01.php,filename_02.php,filename_03.php

filename_0?.php
で検索することは可能です。
※ただ、後者の場合、(?=任意の1文字なので) filename_0a.php 等のファイルもHITしてしまいます。

投稿2020/02/18 10:35

nak

総合スコア696

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Grep画面
ファイル名をfilename_0*.php と指定するだけで良いのでは?
filename_0*.php

投稿2020/02/18 10:31

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問