• ベストアンサー

正規表現で何文字目から何文字目までのヒット

正規表現で何文字目から何文字目までのヒット 正規表現を使い、何文字目から何文字目までをヒットさせたいです。 例えば、下記の英字があります。 abcdefg 6文字目~7文字目をヒットさせたいです。この場合は、「fg」にヒットさせたいです。 先頭から何文字目までヒットというのならわかるのですが、特定の文字数から文字数まで ヒットさせたいという場合、どのような正規表現を組めばいいのでしょうか?

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

  • ベストアンサー
  • sholmes
  • ベストアンサー率81% (89/109)
回答No.2

抜き出すんじゃなくてマッチさせたいとなると戻り読みですかね・・・肯定戻りも否定戻りも個人的に苦手なんですが # サクラエディタ(ver 2.0.2.0) + bregonig.dll (ver 2.03) (?<=^.{5}).{2}

mellow91
質問者

お礼

おぉ!これこそやりたいことです!どういった原理になっているか理解するまでに時間がかかりますが、学んでみます!ありがとうございます!

その他の回答 (1)

  • gtx456gtx
  • ベストアンサー率18% (194/1035)
回答No.1

「正規表現」と言いますが、Perlの正規表現とgrepコマンドの正規表現は微妙に違うので、ご質問内容ならご質問する言語などの環境を明示しないと適切な回答がないように思います。 >例えば、下記の英字があります。 >abcdefg >6文字目~7文字目をヒットさせたいです。 べたな表現ですが・・・Perlなら /^.....[f][g]/ と /^......[f][g]/ では? 意味 『.』・・・・・・・・改行文字を除く任意の1文字にマッチ 『[任意の文字]』・・・[ ]の中の任意の1文字にマッチ 『^』・・・・・・・・行頭を表す

mellow91
質問者

お礼

ご回答ありがとうございます。秀丸orサクラエディタで正規表現を使おうと思っていました。

関連するQ&A

  • 正規表現で無条件にヒットさせたい

    正規表現で"『』"に囲まれた文字列を無条件にヒットさせたいです。 今は"『(.+?)』"を使用していますが 『』内に途中で改行が入ってしまうと、ヒットしなくなってしまいます。 例 『あいうえお』では、"『"~"』"まで全てヒットしますが 『あいう えお』では、全てヒットしません。 正規表現はあまり詳しくないので・・・ 回答よろしくお願いします。

  • 正規表現で5文字切抜き

    正規表現で5文字切抜き 正規表現について悩んでいます。秀丸エディタで正規表現を使いたいと思っています。 各行に任意の文字列(スペース、ハイフン、カンマ、アンダーバー、半角全角英数等含む)があります。 先頭行から5文字を残して残りは削除したいと思います。 5文字以下はそのまま残したいと思います。 例) aaaaabb⇒aaaaa ab cdef⇒ab cd a ⇒ a aa⇒aa 「^.{1,5}」とやると、先頭から5文字選択できるのはわかります。 「^.{1,5}(?=.+)」とやっても選択できるのはわかります。 ただし、6文字以上は削除とした場合、どのように正規表現を組み立てればよいでしょうか?

  • 正規表現について

    正規表現を使用して文字列の置換(ereg_replace)をしたいと思うのですが、 うまくいかず悩んでおります。。 以下の文字列があったとします。 【AAA】【BBB】【CCC】DDD 文字列の中から先頭から始まる【】でくくられたものだけ(【AAA】)だけ削除して、 結果を【BBB】【CCC】DDDとしたいのですが、正規表現でどのようにヒットさせればよいのか分りません。 ※【】の中にくる文字はAAAとは限りません。 お手数ですがご教授頂けますでしょうか。

    • ベストアンサー
    • PHP
  • 正規表現での文字列検索

    WIN7で使用しているアプリケーションで文字列検索する場合の 正規表現について教えてください。 問) 下記の例文で「A」を含む文字列を検索する場合に、「▼」が含まれる場合は 最後の「▼」の後に「A」がある場合のみ検索したい。 例文の場合、(2)、(3)のみヒットさせたい。 例文) (1)***A**▼**▼*** (2)****▼*A** (3)**A**** (4)***▼**A▼**** *、▼の数はいろいろで*は任意の文字です。 よろしくお願いします。

  • 正規表現

    正規表現について勉強中です。 先頭2文字をたとえばYQで入力させたい場合は どうマッチさせればよいのでしょうか? if string.match(/^YQ|[0-9]/) == null { nullの場合の処理 } としていますが、うまくいきません。 正規表現についてはまったくの初心者ですので、 笑わないでくださいね。

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

    こんにちは。 PHPの正規表現を使用して、あるサイトのhtmlソースから特定のタグ間にある文字を抜き取りたいです。 例えば、下記の場合9を抜き取りたいです。 <div class="a">9</div> この場合の処理方法を教えてください。

    • 締切済み
    • PHP
  • 正規表現でブロックしたい

    正規表現で下記のパスワードをブロックしたいのですが、どうすれば良いですか。 ・8文字以上の半角英数字(記号入り) ・パスワード中に必ず、英字、数字、記号を1文字を入れる

  • 正規表現で特定の記号を抜かしてヒットさせるには

    javaで正規表現を使用してプログラムしています。 ある条件を入力させて、"."や","の記号を抜かして、 ヒットさせるしたいと思っています。 例えば "あいう"で検索かけた場合、 "あ.い,う"という単語をヒットさせて ヒットした結果を置換したいのですが、できますでしょうか。 正規表現で無くてもよいのですが、現在、多少複雑な正規表現でマッチングしている処理があり、それに簡単に付け加えれば、"."や","をヒットするように出来ないかと思っています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Perl 正規表現などを使って文字を分割したい

    Perlを使って、下記データを分割したのですがうまくできません。 多分、正規表現などを使うとできそうな気がするのですが、分かりませんでした。 1つだけでも大歓迎ですので、できる方、教えてください。 特に、最初の2つだけでもできればとても、助かります!! 何卒、宜しくお願い致します。 ちなみに、文字コードは、UTF-8です。 分けたい組み合わせ(文字数が変わってもある程度汎用性があると助かります) ======== 漢字+数字 英字+カタカナ 漢字+数字+英字+カタカナ 例: ======== 表現100 Abcテレビ 非営利99AbcFFテレビ 日本語テキスト 出来上がり例: ======== 表現 100 ABC テレビ 非営利 99 AbcFF テレビ 日本語 テキスト

    • ベストアンサー
    • Perl
  • 正規表現について

    /^R|ruby$/ 上記のような正規表現があったとします。 この正規表現の【|】の判断がわかりません。具体的には、/^ $/という記述から 対象の文字列の先頭がRかrのどちらかで以降がubyと続く文字列にマッチという 意味だと解釈しているのですが違うのでしょうか? 具体的にはRubyという文字列かrubyという文字列の二つのうちどちらかにしか マッチしないとおもっていたのですが、 rrubyという文字列やRrubyという文字列にもマッチします。そもそもこの場合のR|rの箇所ですが、これはRかrのどちらかが先頭にあり 二文字目からはubyという文字列がつづきますよ。という正規表現ではないのでしょうか? かなりこまっています。 識者のかたご教授ください。

専門家に質問してみよう