正規表現で漢字の後がひらがな、ただし一部を除く

このQ&Aのポイント
  • 正規表現の置換方法について改良点を教えてください。
  • 漢字の後がひらがなである場合の一部を除外する方法を教えてください。
  • 正規表現でのひらがなの指定方法と一部の除外方法について教えてください。
回答を見る
  • ベストアンサー

正規表現で漢字の後がひらがな、ただし一部を除く

正規表現の記述方法で悩んでいます。 以下に、正規表現での置換の一例を挙げますので改良点を教えて下さい。 ---------- OSはWindows7 64bit 置換に使うソフトは「Word2010」または、一括置換ソフト「Devas」 ---------- 正規表現での置換の一例) 「命」の読みが「イノチ」の場合、カタカナに変換したい。   ([あ-ん])(命)([あ-ん]) これで「命」の前後がひらがなの場合が検索できます。(Devasの場合はその一覧が見れます。) そこで、   \1イノチ\3 で置換すればいいのですが ここで検索できる「命」の読みは「メイ」と「イノチ」になると思います。  身支度を命じられた。 → そのまま  彼に命を狙われる。 → 彼にイノチを狙われる。 「メイ」の読みを除外するために、一つ一つ確認していくのもいいのですが、 「命じ」と「命ず」を除くことができれば、ほとんどが「イノチ」の読みになると考えました。 それには「^」を使って「^ず」「^じ」とかを書き加えれば、どうにかなると思うのですが、うまくいきません。 ([あ-ん])(命)([あ-ん])の検索結果から、「命じ」「命ず」を除く、、、つまり すベてのひらがなを指定しつつ、その一部を除きたい場合の記述方法を教えて下さい。 ご存じの方、何卒よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.2

すみません間違いました 文字コードの並びは (前略)… さ ざ し じ す ず せ ぜ そ ぞ た …(後略) なので、「じ」「ず」を抜くには ([あ-ん])(命)([あ-しすせ-ん]) にしないといけませんね…。

その他の回答 (2)

回答No.3

([あ-ん])(命)([あ-させ-ん]) これでどうですかね? 括弧内に含まれる一文字にマッチする。例えば、[abc] は a、b、c にマッチする。英語のアルファベットでは、[a-z] は全ての小文字にマッチする。これらは混ぜることが出来る。[abcq-z] は a、b、c、q、r、s、t、u、v、w、x、y、z にマッチし、[a-cq-z]でも同様である。 ウィキペディアの正規表現の項の上記説明から 試してみたましたが、こちらではできているようです

参考URL:
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE
  • asciiz
  • ベストアンサー率70% (6638/9405)
回答No.1

文字セット [] 内の ^ は、先頭に置く場合に限り有効で、^なしで記述したセットの否定集合を表します。 範囲指定の記述から、特定の文字を除く、という記述方法は無かったように思います…。 ですのでまあ、後半文字セットから「じ」「ず」を明示的に除いた ([あ-ん])(命)([あ-ざぜ-ん]) になるのではないでしょうか?

関連するQ&A

  • 秀丸の置換で正規表現を使う方法を教えてください

    お世話になります 秀丸エディタの置換を用いて、 (’.ab12#-cd’)のような文字列や数字、記号のまじった ( )から( )の中身を検索置換して (’’)にしたいと考えています。 具体例 (’.ab12#-cd’) (’.ab#37-c’) (’..ab-82#d%’) (’.12jg+#ppv’) (’.ab12lentext’)から ↓ (’’)に置換したい。 秀丸を使うときはあっても単純な 一文字程度の検索置換しかおこなったことがなく どうにも方法がうかばなかったところ 友人から、正規表現というものを 使えば実現できるようだと聞きました。 友人も残念ながら、プログラミングの経験は あまりなくて正規表現での記述方法は わからないいうことでした。 正規表現を使ってこれを実現する方法を 教えていただけませんでしょうか よろしくお願いいたします

  • 正規表現で置換するための記述

    正規表現について質問です。 テキストファイル内の文字列に対して、URL以外の「&」を「&」に置換したいのですが、 普通に置換してしまうと、URL内の「&」も全角になってしまうため、 正規表現で回避しようと考えています。 この場合、正規表現はどのように記述すればよいか、教えていただけると大変助かります。 ---------------------------------------------------------------------- (成功例) ガチャピン&ムック http://hogehoge.jp/index.html?k=2011&id=0414 ↓↓↓↓↓↓ ガチャピン&ムック http://hogehoge.jp/index.html?k=2011&id=0414 ---------------------------------------------------------------------- また、正規表現を使わなくてもできるなど、別の提案もOKです。 質問に不備があれば、その旨ご指摘お願いいたします。 正規表現勉強中のため、何卒よろしくお願いいたします。

  • 正規表現について教えてください

    これから正規表現を勉強しようとする者です。 次の2点について教えて頂きたいのですが、よろしくお願いします。 1.次のような置換をする正規表現は? 例えば、 ■■■ あいうえお かきくけこ ■■↓ ○○○ あいうえお かきくけこ ○○○ というテキストがある場合、○○○~○○○までの「あいうえお」 のみを「アイウエオ」に置換するには、どのような正規表現にすれば 良いのでしょうか? 2.秀丸エディタでは、フォルダ内の全ファイルを一括で置換する 事はできるのでしょうか? 以上2点です。 よろしくお願いします。

  • 正規表現置換で

    正規表現をかじりはじめたんですが… 〒000-0000 東京都○○○○ 電話~ を 〒000-0000★東京都○○○○ 電話~ このような置換はできるソフト、 もしくは正規表現記述方法はありますでしょうか? ちなみに正規表現というからには、当然 ・郵便番号はそれぞれべつ ・住所も東京都から始まるとは限らない マッチして欲しいのは、郵便番号と住所の間にある「 」(スペース)だけなのです。 よろしくお願いします。

  • Perlの正規表現

    Perlの正規表現で質問です。 例えば、 "aabbccddee"と"cdde"という2種の文字列があるとして"cdde"だけを検索(または置換)したい場合の正規表現ってどのようにすればよいのでしょうか? いま、"cdde"で検索すると"aabbccddee"と"cdde"の2種類がヒットしてしまうのですが"cdde"だけヒットするような正規表現をどなたかご教示ください。 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • 正規表現の書き方を教えてください

    正規表現の書き方を教えてください 膨大なサイトデータに含まれる、忍者ツールズのアクセス解析タグを 複数行置換ツールを使って、一気に削除したいです 正規表現を使えば、以下のアクセス解析タグを削除できると思うのですが どのように正規表現を使って記述すれば、いいのかわかりません ・アクセス解析タグ中の「15695600k」 ・リンク先(http://futoko.jpnz.jp、kateikyousi.rentalurl.net) ・アンカーテキスト(不登校 高校、家庭教師) は、タグによって変化する変数です ■忍者ツールズのアクセス解析タグのソース例 http://analyze.ninja-web.net/ ■使用する複数行置換ツール http://www.vector.co.jp/magazine/softnews/060905/n0609051.html ※このツールでできない場合は、用件を満たすツールを教えていただけますと幸いです よろしくお願いいたします

  • 正規表現での置換えについて

    正規表現を使った置換えでどうやったらいいのか悩んでいます。 やり方は、カンマで区切られた数字や英字の列をその先頭だけ残して別の記号(?など)に変換するというものです。 変換例 222,1,33333 は 2??,1,3???? へ置換え 55,22aa は 5?,2??? へ置換え 6 は 6 へ置換え(つまりそのまま) このような置換えをすることは可能でしょうか。 こういう置換えはand条件が使えないと無理なのかなとも思ったりしています。 ただ正規表現にはand条件は無いようですし。(or条件はあるようですが) mb_ereg_replaceを使って明示していただけると助かります。 もちろん複数行になっても問題ありませんし、mb_ereg_replaceでは無理という場合に別の関数を使っていただいても結構です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Dreamweaver MX 2004 検索置換を正規表現で 訂正版

    08/11/10 18:40に「Dreamweaver MX 2004 検索置換を正規表現で」という質問をしてますが、質問のないように誤りがありましたので、訂正版のスレッド(本スレッド)を作成します。 Dreamweaver MX 2004を使用しています。 検索は、正規表現で行なえるのですが、置換の入力欄に入力した正規表現がうまく働きません。 例: 検索対象: 「あいうえお」 「かきくけこ」 置換後: <あいうえお> <かきくけこ> 「検索および置換」ダイアログの「検索」入力欄に 「(.+)」(「」も入力) と入力する。 「検索および置換」ダイアログの「置換」入力欄に <\1>(<>も入力) と入力する。 この場合、検索対象はすべて検索されるが、置換ボタンを押すと <\1>(<>も置換後の文字列に含む) と置換されてしまう。 どのようにすれば、正規表現を利用した検索置換が正常に行なえるでしょうか? 詳細な解説が記載してあるサイトのURL等でも結構です。 よろしくお願いします。

  • 正規表現についてです

    正規表現についてです 「婚活」や「生活」の様に「〇活」という例を「少納言」を利用して集めたいのですが、その際 検索方法の前文脈や後文脈は正規表現で表す場合はどうすれば良いのでしょうか? 回答例としては↓ 検索→空白 前文脈→○○ 後文脈→○○ の様に答えて頂けると有難いです 更に解説があると今後助かるので良ければお願いします

  • rubyの正規表現について質問です。

    rubyの正規表現について質問です。 rubyを勉強中ですが、 正規表現について質問させてください。 以下のようなことをしたいのですが、どのような記述をすれば実現できるでしょうか? (1)test → #test (2)test → test 「test」の場合は、「#」を加え、「#test」に置換したい 「test」の場合は、そのまま「test」としたい。 if を続ければ可能だとは思いますが、 一つの正規表現で(1)のケースだけを引っ掛けられればと思っています。 正規表現でANDが使えればよいのですが、使えないようですし。。。 お手数をおかけしますが、お力をよろしくお願いします。

    • ベストアンサー
    • Ruby

専門家に質問してみよう