アプリ版:「スタンプのみでお礼する」機能のリリースについて

昨日、下記の質問をして「正規表現(grep機能)を使うと良いですよ。」という回答を頂いて、サクラエディタで試行錯誤しているのですが上手くいきません。情報もかなりの量を集めたのですが、必要な情報が見つからないので苦労しています。具体的にどの空欄にどのような文字列を入力して実行したら良いのか教えて下さい。

テキストファイルの特定の数字を一括で置換したいのですが、一部、置換したくない数字が混じっています。例えば、8を一括で4に置換したいけれど、それを実行すると0.8が0.4になってしまうので、それを除外したいです。

質問者からの補足コメント

  • 回答して頂き、ありがとうございます。除外したいのは0.で始まる全ての数字です。もっと使いやすいフリーウェアがあれば、それをダウンロードして使うので教えて下さい。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/06/22 12:38

A 回答 (3件)

こんにちは



サクラエディタの正規表現は存じませんので、若干異なるかもしれませんが・・

一般的には『小数点に続く4以外の4にヒット』で良ければ
 (?<!\.)4
で良さそうですけれど、ご質問文から推測すると他にも除きたいものがあるのではないでしょうか?

例えば、
 0.004 とか 44.44 は 0.008、88.48 になるので良いのでしょうか?


まずは、どのようなケースを除きたいのかを明確にするのが先決かと。
この回答への補足あり
    • good
    • 0

難しい置換は、段階を踏むと操作しやすいです



1回目 : 対象外を別の文字に仮置換
(0\.\d*)4 → ${1}④

2回目 : 対象だけを置換
4 → 8

3回目 : 仮置換した対象外を戻す
④ → 4
    • good
    • 0
この回答へのお礼

段階を踏んで置換する発想はなかったので、とても参考になりました。まだ解決できていないので、早速、試してみようと思います。どうもありがとうございました。

お礼日時:2022/06/22 19:23

No1です。



>除外したいのは0.で始まる全ての数字です
言葉通りとするなら、
 (?<!0\.\d*)4
とかでしょうけれど・・

 0.44 → 0.44
 0.2454 → 0.2454
となりますが
 44.44 → 88.88
 1.454 → 1.858
 1234 → 1238
のようになります。

なお、サクラエディタの正規表現の説明を見てみましたが、
否定後読みは bregonig.dll の利用環境でないと使えないようですね。
https://sakura-editor.github.io/help/HLP000089.h …

※ 上記を参照して、なさりたいことに合う表現にすれば宜しいでしょう。


>もっと使いやすいフリーウェアがあれば、~
「使いやすい」の意味にもよりますけれど、正規表現が利用できるということは、相当に強力な検索機能を有していると言えると思います。
正規表現の詳細な書式は、ソフト(や言語)によって若干異なりますけれど、他のソフトに変えてみたところで、正規表現を利用なさるのであれば、あまり差はないものと想像します。
(どこまでの機能を提供しているかは、上記の「否定後読み」のようにソフトによって異なる可能性はありますが・・)
    • good
    • 0
この回答へのお礼

色々と丁寧に教えて頂き、どうもありがとうございました。まだ苦戦していますが、後は自分で調べて解決しようと思います。

お礼日時:2022/06/22 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!