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

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

ただいまの
回答率

90.61%

  • 正規表現

    776questions

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

(正規表現)「任意の文字列1+ランダム+任意の文字列2」の任意の文字列2のみ置き換えたい

解決済

回答 1

投稿

  • 評価
  • クリップ 2
  • VIEW 1,473

hpptms

score 44

正規表現について教えて下さい。

現在使用しているエディタはサクラエディタです。

下記の様な文字列の末尾の「,」を置き換えたいです。

hoge:結合.項目名,
hoge:一部.名前,
hoge:一部.実施状況,
hoge:一部.A又はB,
hoge:一部.企業名,
hoge:全て.名前,
hoge:全て.実施状況,
hoge:全て.A又はB,
hoge:全て.企業名,

hogeの部分から、「、」までを引っ掛ける方法として、
(?<=hoge).*?,
は分かるのですが、この方法では
hogeから「,」の前のランダムの部分も置き変わってしまいます。
その為
(?<=hoge.*?),
(?<=hoge)(?<=.*?),
などを試してみたのですが、
サクラエディタでは、「invalid pattern in look-behind」
のエラーが出てしまいました。

どなたか参考になるページや、表現方法などご存じでしたら、
教えて下さい。
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Tak1wa

    2015/05/15 15:23

    すみません。ちょっと聞き方がよくなかったですね。 hoge:結合.項目名, hoge:一部.名前, hoge:一部.実施状況, hoge:一部.A又はB, hoge:一部.企業名, hoge:全て.名前, hoge:全て.実施状況, hoge:全て.A又はB, hoge:全て.企業名, ↓ hoge:結合.項目名 hoge:一部.名前 hoge:一部.実施状況 hoge:一部.A又はB hoge:一部.企業名 hoge:全て.名前 hoge:全て.実施状況 hoge:全て.A又はB hoge:全て.企業名 ということですか? 「,」を空白に置換するのではなぜダメなのか教えてください。 理解力が低く申し訳ないです。

    キャンセル

  • hpptms

    2015/05/15 15:32

    こちらこそお手数をかけて申し訳ありません。 説明が下手なのでやりたい理由も書きます。 置き換える目的としては、エディタを使って、SQLを作成しております。 末尾の「,」の部分を「AS hoge,」などの文字列に置き換えたいです。 「任意の文字列1」はある程度決まっているのでここを視点にしております。 問題は「任意の文字列1」から「、(任意の文字列2)」の間にランダムの文字列があり、 ここは置き換え対象にはしたくないのです。 分かりづらく申し訳ありませんが、よろしくお願いします。

    キャンセル

  • Tak1wa

    2015/05/15 15:39

    なるほどです。では回答したもので良さそうな気がしますので確認してみてください。 これだと不足しているよーという場合は回答のほうにコメントを頂ければもう少し調べてみます。

    キャンセル

回答 1

checkベストアンサー

+1

件の文字が文中に入っているため、と解釈します。
 置換前:(hoge.*),
 置換後:$1
でどうです?やりたいこととあっているか自信ないですが…。

(追記)
あ、参考になるサイトを忘れていました。
http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html

(追記2)
改行されていない場合は以下のようにしてください。
置換前

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/05/15 15:46

    自分が想定していたやり方より、もっと便利に置き換えできそうです。
    パターン化を利用すればいいのですね、ありがとうございました!

    キャンセル

  • 2015/05/18 11:42

    すいません補足です。
    最終的に教えて頂いたパターン化で、
    (パターン1)(パターン2)(パターン3)(パターン4)の様な形で検索して、
    置き換え時に欲しい部分のパターンを呼び出して使用する事で、やりたい事が出来ました。

    正規表現で検索して後から呼び出して使う事をした事が無かったのですが、
    今回使ってみて目からウロコでした。
    ありがとうございました。

    キャンセル

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

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    jQueryUIでresizableを複数設定したい

    jQueryUIでbox1を複数設定したいのですが $('.selector').resizable( { box1: '.other' }); box1に要素2,3個を設定した

  • 受付中

    Pythonのclassについて

    初期化メソッドについてもやもやしていたんですが、 class Hoge:     def __init__(self, a, b):         self.a = a    

  • 解決済

    正規表現について

    以下のソースからhttp://hoge.comという部分だけをRubyの正規表現で抜き出したいです <a href="?p=2">&nbsp;2&nbsp;</a> <a href

  • 解決済

    swiftからobjective-cのプロパティにアクセスしたいのですが

    以下のようにSwift側からObjective-Cベースのアクセサメソッドを呼ぼうとすると コンパイルエラーになります。 Swift側で何か処理をしなくてはならないのでしょうか?

  • 解決済

    <input type="text">のvalueの値に他要素の文字列を挿入したい

    <input type="text">のvalueの値に、他要素の文字列を挿入したいです。 具体的には以下の通りです。 <input type="text" name="hoge

  • 解決済

    Cloud9でエディタを起動する方法

    Cloud9でRails Tutorialをやっているのですが、 subl hoge.txtというように、ターミナルから上のエディタ画面を起動したいと思うのですが、どうやればいい

  • 解決済

    c# zippassファイルの解凍について

    前提・実現したいこと こんにちは。C#でzippassファイルを解凍したいです。 発生している問題・エラーメッセージ 「DotNetZip」というサイトからdllをダウン

  • 解決済

    ターミナルでランダムに記事を開きたい

    前提・実現したいこと ターミナルから実行すると記事がブラウザ上でランダムに指定したURLで表示されるようにしたい 発生している問題・エラーメッセージ 文字列変換をしたブロ

同じタグがついた質問を見る

  • 正規表現

    776questions

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