
あるファイルに関して、このような置換を行いたいです。
abc/xxx,yyy,zzz.html
↓
abc/xxx.html
xxxとyyyとzzzはある任意の文字列(英数字で文字数はばらばら)で
「abc/」と「,」と「.html」は固定の文字列になります。
そこで、秀丸で開いて、正規表現による検索で、
「abc/.*,.*,.*.html」
として検索すると、該当部分が検索できることがわかりましたが、置換後をどのように設定すればいいのかわかりません。
置換後のabc/xxx.htmlの「xxx.html」の部分は検索前の任意の文字列をそのまま残したいのです。
秀丸の置換機能でこのようなことは可能でしょうか?
正規表現に関してあまり詳しくないので教えてください。
No.6ベストアンサー
- 回答日時:
#5 の補足に対する回答です。
>検索キーワード中の、最後の.htmlの前の\マークにはどのような意味がある
>のでしょうか?
正規表現におけるピリオド(.)は、改行以外の任意の一文字を表すメタ文字
です。
円記号(バック・スラッシュ)は、正規表現のメタ文字と言う機能を無効化
(エスケープ)します。
---------------------------------------
(1) (2) (3) (4)
.html ahtml xhtml ●html
---------------------------------------
検索キーワード“.html”では、(1,2,3,4)すべてにヒットします。
検索キーワード“\.html”では、(1)にのみヒットします。
これで理解していただけるでしょうか。
----
より詳しくは、「秀丸エディタ - ヘルプ」の「キーワード」から「正規表現」
で検索してみてください。また、WEBには正規表現を詳しく解説したサイトが
あります。Googleなどで検索して、訪問してみてください。ただし、正規表
現には“方言”(ソフトごとの違い)があるので、そのことを認知しておい
てください。
この回答への補足
お礼を投稿したあとすぐに気づきました。
「/」マークのことをバックスラッシュだと思っていました。違いますよね。お恥ずかしい限りです…。
これですべて納得です。
ありがとうございました!
よくわかりました。ありがとうございました。
エスケープの意味かな?とも思ったんですが、/の前にエスケープの\がなかったので「あれ?」と疑問に思いました。/ は、メタ記号の扱いではないということですかね?自分の中で/(バックスラッシュ)と\(ドル)が混同しています…。
No.5
- 回答日時:
#4 です。
回答を訂正します。
-------------------------------
【検索キーワード】
.+/[^,]+\f.+\f\.html
【置き換えキーワード】
\0\2
-------------------------------
#4 の回答でも正しく置き換えできますが、不要な複雑さを回避しました。
失礼しました。
たびたびありがとうございます。
検索キーワード、理解するのに時間がかかりましたが、調べながらなんとか意味がわかるまでになりました。
ところで、検索キーワード中の、最後の.htmlの前の\マークにはどのような意味があるのでしょうか?再び質問になってしまいますが、よろしくお願いします。
No.4
- 回答日時:
-------------------------------
【検索キーワード】
.+/\f[^,]+\f.+\f\.html
【置き換えキーワード】
\0\1\3
-------------------------------
上のキーワードで置き換えることが出来ます。
下の例文で正常動作することを確認しました。
秀丸:Ver4.07
正規表現DLL:HMJRE.DLL Ver1.10
abc/xxx,yyy,zzz.html
abc/aaaaa,bbbbbbbb,cc.html
abc/dd,eeeee,fffffff.html
dir/ggggggg,h,iii.html
dir/subdir/jjj,kkkk,lllll.html
▼
abc/xxx.html
abc/aaaaa.html
abc/dd.html
dir/ggggggg.html
dir/subdir/jjj.html
正規表現にも、いろいろな表現の仕方があるのですね。
大変勉強になりました。
これを機にもっと勉強したいと思います。
ありがとうございました。
No.3
- 回答日時:
まずは、正規表現が苦手でも、ご質問のような状況で簡単に置換する方法を。
ファイル内(複数ファイルでも可)の該当する文字列をgrepで拾い出して
結果ファイルの該当箇所をすべて abc/xxx.html に変更し、一括で置換を
すると便利です。たとえばこのようなマクロが利用できます。
http://hide.maruo.co.jp/lib/macro/greprep100.html
あくまで正規表現で、ということであれば、わたしがよく参考にしている
場所は、こちらです。
http://homepage2.nifty.com/jr-kun/hidemaru_qa/4_ …
直接的な回答ではありませんが、お役に立てれば。
参考URL:http://hide.maruo.co.jp/lib/macro/greprep100.html , http://homepage2.nifty.com/jr-kun/hidemaru_qa/4_ …
秀丸のマクロ、ぜひ利用してみたいと思います。
ためになるサイトの紹介ありがとうございました。
正規表現についてもっと勉強したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/08 09:05
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- フリーソフト サクラエディタの正規表現(grep機能)の使い方 3 2022/06/22 10:29
- Word(ワード) ワードフォント 一括置換の方法 4 2022/12/31 00:27
- フリーソフト テキストファイル内を検索したい 1 2022/06/01 08:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
見れる方・・
-
ドライアイスの持続時間
-
ベーシック認証時、キャンセル...
-
ファーストフード
-
メール本文に変な文字が
-
高倉健主演の、ミスタ-ベ-ス...
-
IEを操作し、前のページへ戻る方法
-
アクオスケータイ4、アクオス...
-
HTMLからフォルダを開きたい
-
HTMLページが勝手にダウンロー...
-
Excelで、社外秘(閲覧のみ)と...
-
java_run.batがダウンロードで...
-
iPadの標準ブラウザでローカルH...
-
URLに「.html」の拡張子がなく...
-
Dreamweaverでページ全体が文字...
-
Selenium Excel AddInのインス...
-
Webサイトから、txtファイルを...
-
pythonのエラーについての質問...
-
コメントが閉じてないというエ...
-
httpdで接続が拒否される
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクオスケータイ4、アクオス...
-
アクオスケータイ4、アクオス...
-
iframeの中のページのリンクを...
-
javaでhtmlファイルを開く方法
-
ベーシック認証時、キャンセル...
-
メール本文に変な文字が
-
Excel VBA :URLの中で変数を使...
-
IEを操作し、前のページへ戻る方法
-
lang 英語と日本語など混ざる時は
-
JSPでincludeファイルの日本語...
-
拡張子「.stm」について
-
相対パスから絶対パスの取得
-
フォルダの中の特定のファイル...
-
中埜酢店 のよみかた
-
とりあえずこのカテゴリーで・...
-
ホームページの検索エンジン登録
-
FireFoxのNoScriptお使いの方へ...
-
YahooBBで自宅サーバー
-
風船のようなもの
-
複数のファイルをdiffで比較す...
おすすめ情報