- ベストアンサー
正規表現置換で
正規表現をかじりはじめたんですが… 〒000-0000 東京都○○○○ 電話~ を 〒000-0000★東京都○○○○ 電話~ このような置換はできるソフト、 もしくは正規表現記述方法はありますでしょうか? ちなみに正規表現というからには、当然 ・郵便番号はそれぞれべつ ・住所も東京都から始まるとは限らない マッチして欲しいのは、郵便番号と住所の間にある「 」(スペース)だけなのです。 よろしくお願いします。
- yo-ya
- お礼率65% (145/221)
- その他(インターネット・Webサービス)
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
置き換えを実行しようとしているソフト(OSも含む)を明記なされると、 的確な回答が得られる近道だと思います。 以下、テキストエディタの秀丸を例題にします。 【秀まるおのホームページ】 http://hide.maruo.co.jp/ 秀丸エディタ 4,000円 検索キーワード: 〒[0-9]{3}\-[0-9]{4}\f +\f[亜-煕] 置換キーワード: \0★\2 ※郵便番号や空白が全角の場合は、それぞれを全角に変えてください。 [0-9] → [0-9] など ---- フリーで公開されているテキストエディタにも、同様の事が出来るものが あるかもしれません。 スクリプト言語の Ruby や Perl などは無料かつ強力ですので、使いこな せれば大変便利です。
その他の回答 (1)
- akamanbo
- ベストアンサー率17% (462/2680)
正規表現といっても何通りもあるらしいですが、 たとえばWordのワイルドカードを使うなら(いわゆる正規表現じゃないけど)、 (〒[0-9]{3})(-[0-9]{4}) ↓ \1\2★ Perl5であれば、 (〒[0-9]{3})(-[0-9]{4}) ↓ $1$2★ 全角半角とかスペースとかは自分で適切に 指定してください。 ソフトについては正規表現に対応してるものが 多数あるはずです。 ただし、秀丸エディタはこのような数字の桁指定 はできないようです。
お礼
大変アバウトで申し訳ありませんでした。 仕事でたまたま正規表現を使うとできそうな置換作業があったので、 ついでにdelphiプログラミングで正規表現を組み込んでみようかと思ったのですが、 何通りもあるようで自分もかなり混乱してました。 ありがとうございました。
関連するQ&A
- 正規表現と置換を使って書き換えたい
HTMLのソースなどで、 …省略…width=300 border=10 cellspacing=0 cellpadding=0> …省略…width="300" border="10" cellspacing="0" cellpadding="0"> (スペースの都合で改行しています) と属性値をダブルクォートでくくるように書き換えたいのですが、検索文字列、置換文字列を正規表現を使ってどのように記述すればよいのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- 正規表現で置換するための記述
正規表現について質問です。 テキストファイル内の文字列に対して、URL以外の「&」を「&」に置換したいのですが、 普通に置換してしまうと、URL内の「&」も全角になってしまうため、 正規表現で回避しようと考えています。 この場合、正規表現はどのように記述すればよいか、教えていただけると大変助かります。 ---------------------------------------------------------------------- (成功例) ガチャピン&ムック http://hogehoge.jp/index.html?k=2011&id=0414 ↓↓↓↓↓↓ ガチャピン&ムック http://hogehoge.jp/index.html?k=2011&id=0414 ---------------------------------------------------------------------- また、正規表現を使わなくてもできるなど、別の提案もOKです。 質問に不備があれば、その旨ご指摘お願いいたします。 正規表現勉強中のため、何卒よろしくお願いいたします。
- ベストアンサー
- その他([技術者向] コンピューター)
- 正規表現について
正規表現で、最初に出てきた条件に合うものだけマッチさせて置換したく、それ以降に条件に合うものがあってもマッチさせたくないのですが、どうすればいいでしょうか? 現在、オプションはつけてないのですが、最後にマッチしたものがとりだされてしまいます。 ---------------------------------------- s/aaa(.*)ccc/$1/; ・・・・・正規表現 ---------------------------- aaabbbccc : : aaadddccc : aaaeeeccc ---------- だと、eeeに置換されるのですが、bbbに置換したいです。 よろしくお願いします。
- ベストアンサー
- Perl
- Excel : タグ付き正規表現による文字置換は可能?
アクティブセルの文字を、正規表現を利用して文字置換をしたいと考えています。 ただ、単純な文字置換ではなく、正規表現にマッチした文字列を記憶して、 置換後の文字列として呼び出して利用します。 秀丸エディタにあるような「タグ付き正規表現」を利用したいです。 Excelでも同じようなことは可能なのでしょうか? 一例として挙げますと、次のような文字置換です。 ●「?」の後に全角スペース以外の文字がある場合には、「?」の後に全角スペースを1つ入れる。 ●「?」の後に全角スペースが複数続く場合には、「?」の後の全角スペースを1つだけにする。 つまり、★を全角スペースとすると、次のようになります。 あいう?あいう → あいう?★あいう あいう?★★あいう → あいう?★あいう さらに、一例を挙げますと、 ●「AさんはBさんの友達です」というような文章を、「BさんはAさんの友達です」にする。 つまり、AとBに相当する部分を入れ替える。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 正規表現で少し複雑な置換がしたい
Javaというよりも、正規表現について質問です。 (一応、言語はJavaで、String#replaceAllを使います) 以下のルールで与えられた文字列の置換を行う正規表現を考えていますが、なかなかうまくいきません。 1.正規表現で \w+:: にマッチする文字列を削除する。 2.ただし、'' (シングルクォーテーション)で囲われている文字列は 1.の対象としない 3.ただし、\' (シングルクォーテーションの前に\があった場合は) シングルクォーテーションと認識しない。 例: 置換前 A * B \'' CCC.DD::EEE' FFF.GGG::HH ' III' 置換後 A * B \'' CCC.DD::EEE' FFF.HH 'III' 色々試してみたのですが、どうしてもうまくいきません。 正規表現が得意な方、教えていただけますでしょうか・・?
- ベストアンサー
- Java
- 正規表現でマッチした数字文字を計算して置換することを1行で記述できますか?
正規表現でマッチした数字文字を計算して置換することを1行で記述できますか? たとえば 2004/01/01 --> 2004/01/17 2004/01/02 --> 2004/01/18 2004/01/03 --> 2004/01/19 $a = '2004/01/01'; $a =~ s/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/\1\/\2\/???????/; ?????の部分です。
- ベストアンサー
- Perl
- 秀丸の置換で正規表現を使う方法を教えてください
お世話になります 秀丸エディタの置換を用いて、 (’.ab12#-cd’)のような文字列や数字、記号のまじった ( )から( )の中身を検索置換して (’’)にしたいと考えています。 具体例 (’.ab12#-cd’) (’.ab#37-c’) (’..ab-82#d%’) (’.12jg+#ppv’) (’.ab12lentext’)から ↓ (’’)に置換したい。 秀丸を使うときはあっても単純な 一文字程度の検索置換しかおこなったことがなく どうにも方法がうかばなかったところ 友人から、正規表現というものを 使えば実現できるようだと聞きました。 友人も残念ながら、プログラミングの経験は あまりなくて正規表現での記述方法は わからないいうことでした。 正規表現を使ってこれを実現する方法を 教えていただけませんでしょうか よろしくお願いいたします
- ベストアンサー
- その他([技術者向] コンピューター)
お礼
大変アバウトで申し訳ありませんでした。 仕事でたまたま正規表現を使うとできそうな置換作業があったので、 ついでにdelphiプログラミングで正規表現を組み込んでみようかと思ったのですが、 何通りもあるようで自分もかなり混乱してました。 Perlに関しては、ちょっと興味が湧きました。 ありがとうございました。