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

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

新規登録して質問してみよう
ただいま回答率
85.48%
正規表現

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

Q&A

解決済

1回答

5234閲覧

正規表現で「」括弧で囲まれた文字列以外を削除したい

genmai0141

総合スコア13

正規表現

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

0グッド

0クリップ

投稿2022/05/24 12:27

英語の時間「さようなら?」 5月24日(火)午前1:10放送 2022年5月31日(火) 午前9:15配信終了 【司会】山田△子 英語の時間「こんにちは」 5月23日(月)午前1:10放送 2022年5月30日(月) 午前9:15配信終了 【司会】山田△子

上記をサクラエディタに貼り付けて、「」で囲まれた、「さようなら?」と「こんにちは」を抽出したく、最終的には下記のような形に正規表現で置換したいと考えていますが、うまくいきません。

「さようなら?」 「こんにちは」

正規表現で下記の記述をすると「」を含まない行は抽出できるのですが、上記の目的が達成できません。

^(?!.*「.*」).+$

可能であれば、サクラエディタの正規表現置換を使用する方法があればお伺いしたいです。
難しそうであれば、「こういった方法なら可能」というアプローチ方法をお伺いできますでしょうか。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

普通は、何らかのプログラミング言語を使って、「「.*?」を抽出」でしょうか。grepコマンドでも良いです。

置換でやるしか無い場合は、対象が1行にたかだか1つしかない前提なら、

『行頭から以外の連続』または『以外が続いて行末』を空に置換して、空行を削除

でしょうか。

投稿2022/05/24 12:38

otn

総合スコア84555

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

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

genmai0141

2022/05/24 13:23 編集

otnさん 早々のご回答をありがとうございます。 検索しても見つからなかったので、やはり普通はプログラミング言語で処理するものなのですね。 「.*?」を抽出して配列に入れて、順次抜き出すイメージになるのでしょうか。 差し支えなければ、『行頭から「以外の連続』の正規表現での書き方をお伺いすることはできますでしょうか。 行頭の^と否定の^をうまく組み合わせる方法を試行しているのですが、これも難しいです。。 ^●[^「]  ↑ここに何かを入れるのだと思うのですが、「.*」や「.+」、?等組み合わせても思い通りに行かないです。
genmai0141

2022/05/24 13:36

otnさん すみません。 >grepコマンドでも良いです。 こちらを見落としていました。サクラエディタで一旦ファイルに保存した後に、 「Grep条件入力」から「現在編集中のファイル」を実行することで完全ではないのですが、目的に近いことができました。 良い気づきを得られました。ありがとうございました!
otn

2022/05/24 15:51

日本語をそのまま翻訳すれば良いのですが、 ^[^「]+|[^」]+$ でしょうか。
genmai0141

2022/05/24 19:53

otnさん 動きました!記述いただいた^[^「]+|[^」]+$の意味はこれから調べます。 どうもありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問