◀一般トップへ
  • 5167 行末に「-」のある英単語の検索法は?
    • 5171 Re:行末に「-」のある英単語の検索法は?
      • 5172 Re2:行末に「-」のある英単語の検索法は?
        • 5173 Re3:行末に「-」のある英単語の検索法は?
          • 5174 Re4:行末に「-」のある英単語の検索法は?
            • 5175 Re5:行末に「-」のある英単語の検索法は?
    • 5176 Re:行末に「-」のある英単語の検索法は?
      • 5177 Re2:行末に「-」のある英単語の検索法は?
  • [5167] 行末に「-」のある英単語の検索法は? IDEO 2006年04月15日 06:22

    5131で(全略)さんのJREGEX組み込み版SAKURAを教えていただき、改行マークを挟んだ検索で重宝しているIDEOですが、その後、OCRで電子テキストファイル化したものを検索する必要が出てきました。
     英文では行末で分かれた単語には「-」が入っているため、どのような検索式を書いたらよいのか分かりません。ご教示いただけますか?
     例えば、televisionは

    te-
    levision

    とも

    tele-
    vision

    とも

    televi-
    sion

    とも印刷されますね。こういうのを長くて複雑でもよいから、一つの検索式で改行無しのtelevisionも含めて全て検索したいのですが。
    • [5171] Re:行末に「-」のある英単語の検索法は? しみづ 2006年04月16日 04:16


      ?te[\r\n\-]*le[\r\n\-]*vi[\r\n\-]*sion

      なんてどうかしら。
      • [5172] Re2:行末に「-」のある英単語の検索法は? IDEO 2006年04月16日 06:59

        ▼ しみづさん
         早速お返事、ありがとうございました。
        >
        > ?te[\r\n\-]*le[\r\n\-]*vi[\r\n\-]*sion
        >
        で、見事に通常のtelevisionまで含めて、取りこぼしなく検索できました!
         感謝、感謝です。
         以前から話題にしているように、オープンされた現単一ファイルだけでなく、「Grep条件入力」が対応しているフォルダー内の全てのファイル検索にもこの改行またぎが効けば最高なんですがね。どうして私のところではできないのかなぁ…?
        • [5173] Re3:行末に「-」のある英単語の検索法は? IDEO 2006年04月16日 07:08

          自己レスですが、「Grep条件入力」の結果の画面で、最初に「□検索条件 」と表示されますが、その条件式で気づいたのですが、私としては[\」と入力したはずが、左上から右下に向かうスラッシュに変わっていました。
          フォルダー内の全てのファイルの検索が私のところだけできないのは、ひょっとしてそのせいでしょうか?ちなみに、結果画面の8行目は「(文字コードセットの自動判別)」となっています。
          が対応しているフォルダー内の全てのファイル検索にもこの改行またぎが効けば最高なんですがね。どうして私のところではできないのかなぁ…?
          • [5174] Re4:行末に「-」のある英単語の検索法は? しみづ 2006年04月16日 08:49


            >どうして私のところではできないのかなぁ…?

             勘違いしてませんか。作者さんは「Grepには対応していません」と言っているし、他の誰もできてませんよ、たぶん。
            >>data:5136
            • [5175] Re5:行末に「-」のある英単語の検索法は? IDEO 2006年04月16日 10:19

              ▼ しみづさん
              またまた、お返事、早速ありがとうございました。

              >  勘違いしてませんか。作者さんは「Grepには対応していません」と言っているし、他の誰もできてませんよ、たぶん。
              > >>data:5136
               なるほど。data:5136の最後の文章の意味は、そういうことでしたか。
               これで安心しました。
               でも逆に、できたらいいなぁという要望の気持ちはさらに強くなりました。
    • [5176] Re:行末に「-」のある英単語の検索法は? fon 2006年04月16日 12:58

      サクラ標準のBregexpでも、面倒ですができそうです。(目的が単語にヒットということであれば、ですが)
      ↓などが非常に参考になります。(注:勝手にリンク)
      http://www.geocities.jp/maru3128/sakura_bbs.html#M0730
      ■やりたいこと(仮定)
      ・「文字列1+ハイフン+改行+文字列2」→「文字列1+文字列2」
      ・「文字列1+改行+文字列2」→「文字列1+スペース+文字列2」(*1)
      ・改行だけの行は詰めない
      *1:期待通りでない場合もありそうなため、適宜実行
      ■手順
      1.余分なスペースの削除
       テキスト全選択:Ctrl+A
       左側余白を削除:Alt+L
       右側余白を削除:Alt+R
      2.改行コードの統一
       ファイルを名前を付けて保存
        文字コード:SJIS
        改行コード:CR+LF
      3.ハイフンで終わる行を繋げる
       すべて置換(以下置換は正規表現ONで。)
        置換前(*2):-(\r\n)
        置換後:
      *2:改行をなくす場合'$'は使えない模様
      ■以下おまけ(*1)
      4.改行だけの行を★に置換して覚えておく(やり方が美しくないです。)
       すべて置換
        置換前:^$
        置換後:★
      5.文章の節以外の改行も繋げる
       すべて置換
        置換前:(\r\n)
        置換後(*3):
      *3:単語区切りのための半角スペース
      6.ピリオドとかで改行する
       すべて置換
        置換前:([\.\?!])
        置換後(*4):$1\r\n
      *4:後読みが出来ないため後方参照を使用
      7.★を元に戻す
       すべて置換
        置換前:★
        置換後:\r\n
      8.余分なスペースの削除
       1.と同じ

      ■test case (Before)
      The substitution of the word including changing line
      is examined by the cherry. The word including the hy-
      phen is not matched.

      Is there a good method in the regular expression?

      ▼After
      The substitution of the word including changing line is examined by the cherry.
      The word including the hyphen is not matched.

      Is there a good method in the regular expression?
      • [5177] Re2:行末に「-」のある英単語の検索法は? IDEO 2006年04月16日 20:29

        ▼ fonさん
         とても詳しい、そして、私のようなど素人でも分かるようなステップ毎のご説明、ありがとうございました。
         改行マーク置換は、行のレイアウトが変わってしまうので、私は好きでなかったのですが、このようにハイフンの所だけ変えるのであればページの大勢は変わらず、実用的ですね。こういうやり方があったかと、感心しております。
         どうもありがとうございました。