• ベストアンサー

正規表現で単語以外に使われている文字を検索した

タイトルどおりなのですが、英文のテキストがあり、 OCR処理をしているので、数字のゼロがオーになっている箇所があります。 その部分を検索したいのですが、 正規表現で単語以外に使われている文字(オーやエルなど)を 検索する方法というのはありますでしょうか? いろいろな正規表現サイトを見て勉強はしてみたのですが、 どうしても作ることができず質問させてもらいました。 どなたかご教授願います。

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

  • ベストアンサー
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

sed(gsed)で s/ ([0-9oOlL]*[oOlL][0-9oOlL]*) / @@\1@@ /g を実行すると、数字にまぎれてoやlが含まれている部分を@@で囲んでくれますが、この程度では駄目なんですよね…力技で美しくないし。 もっともこのままだと、行頭・行末にある場合や、連続する場合は駄目なので、ちょっと前処理が必要になるし。

関連するQ&A

  • 文章校正で単語に入りこむ数字をチェックしたい

    現在、OCRで作業した英文のテキストを校正中です。 その際に、ワードで印刷校正しているのですが、 fileやwill などで、エルが数字の1になっている などのように、単語に数字は入っている単語がなぜかひっかかりません。 まさかひっかからないとは思わずに、少々びっくりしています。 一応、対応策としては、原始的ですがエルを検索して、一つ一つあっているかチェックしています。 そのような方法しかないでしょうか? 正規表現などを使用して、うまく検索等はできないでしょうか? 一応、調べてみたのですが、わかりませんでしたので質問させていただきました。 どなかたご助言お願いいたします。

  • 正規表現で [ ] を探したい

    正規表現の説明のサイトなど、調べてみたのですが、分からなかったのでお聞きします。 現在下記のようなテキストデータがあります。 []は半角カッコです。 ************* : [かきこ] あいうえお ばびぶべぼ [まみむめもI らりるれろ かきくけこ : ************* OCR処理をしている為、カッコ"]"が"I"大文字半角のアイになっている箇所があります。 その間違いを捜し当てたいのですが、 [ I I ] I I の3パターンあると思うのですが、それぞれを探せる正規表現を教えていただけないでしょうか? どなたかご教授願います。

  • 正規表現で検索するときのパターンについて

    VBScriptの正規表現で、100行くらいのテキストファイルを対象に検索を行いたいのですが、その中の一行に単語1と単語2と単語3の3つの単語が全て含まれるそういう行があるかないかを調べるには、どういうパターンにすればいいでしょうか? (単語1と単語2と単語3の順番は問いません。) ご教授のほどよろしくお願いいたします。

  • VB2008 正規表現 うまくいきません [ ]?

    VB2008にてプログラムを組んでいます。 RichTextBox に英文を流し込んでありますが、それに対して英単語を検索して、ハイライトするプログラムを組んでいます。 しかし、正規表現の表現方法が悪くうまく検索してくれません。 例えば、RichTextBox には次のような英文があります。 I have seen many chavette. 上記英文に対して、下記のような正規表現で検索しているのですが、 [ -]?have[ s,-]? "have s"がヒットしてしまいます。 その他、chavetteという単語も回避したいのにヒットしてしまいます。 どのように正規表現を訂正すればよいでしょうか。 ================================== 【have の前に"[ -]?"をつけた理由】 "chavette" のような単語を回避し、 "abc-have" のような単語や " have" のような前にスペースのある単語はヒットさせたいからです。 "?"は0か1文字という理由です。 【have の後ろに"[ s,-]?"をつけた理由】 "have-had-had" のような文字列や "haves" のようなsがつく単語や "have," のようなカンマつきの単語や "have " のような後ろにスペースのある単語はヒットさせたいからです。 "?"は0か1文字という理由です。

  • 正規表現:頭文字以外小文字に変換

    長い間自分で考えたのですが、分からずに困っています。ご存知の方がおられましたらご教授ください。 Dreamwaver MX2004を使用しています。 「検索および置換」機能を利用してHTMLファイルに全て大文字のアルファベットで記載されている単語を各単語の頭文字以外小文字に変換したいのです。検索窓には「(\b[A-Z]+\b)」と入力すると全て大文字の単語が検索できました。問題はどのような正規表現を「置換」窓に入れればよいのでしょうか? 不可能な場合は、その旨をお伝え下さい。 よろしくお願いします。

  • 正規表現で単語長(文字数?)を検索は可能でしょうか

    正規表現で可能かどうかもわからず質問しています。 単語を構成する文字長で検索は可能でしょうか。 例えば、 全角(2バイト)8文字、半角(1バイト)6文字 計全角11文字(22バイト)相当 全角(2バイト)3文字、半角(1バイト)16文字 計全角11文字(22バイト)相当 それぞれにマッチ あ12いうえお  6文字相当 き1く234けこ  6文字相当 それぞれにマッチ と言う感じです。 よろしくお願いします。

  • 正規表現での検索で・・・・

    Dreamweaverで検索する場合なのですが、 例えば「1月1日」から「1月31日」までと言った単語を検索しようとする場合、どのように検索すれば良いでしょうか。 上記ソフトのヘルプをみると、正規表現での検索で出来ると書いてあるのですが、ワイルドカード「?や*」(でしたっけ?)の使い方が良く分かりません。もし正規表現による検索が分かりやすいサイトなどあれば、合わせて教えていただければ幸いです。

  • 秀丸エディタでの正規表現での検索方法について

    以下のように、数字の連番が羅列されていて、半角スペースで区切られている文字列があるとします。 1 2 3 4 5 6 7 8 9 10 1 2 3 1 2 3 4 5 この文字列を以下の単位で検索にHITするようにしたいのです。 ・1 2 3 4 5 6 7 8 9 10 ・1 2 3 ・1 2 3 4 5 ※1から始まる数字列 正規表現での検索でなんとかできないかと試行錯誤していますが、なかなかできません。 ご教授ください。

  • VIMの正規表現を使った検索について

    初めまして。 VIMの正規表現の使用方法について教えて頂けないでしょうか。 単語検索の際に、正規表現を使用したいと思っているのですが、どうも上手く使うことができません。 まずは、単純な物で練習しようと考え、Vim完全バイブル(技術評論社)の正規表現のページに書かれてある 「tからはじまって”ing”で終わる全ての語句(正規表現=\<t[^]*ing\>)」を試してみようと、 hoge aaa testing foo という風に文字列を準備して、上記コマンド(通常モードから"/"を押して\<t[^]*ing\>)を入力してみたのですが、 「該当箇所はありません」と表示され単語にマッチすることがありませんでした。 この場合どのようにすれば良いか教えていただけないでしょうか? 使用しているVimのバージョンは、Kaoriya版Vim7.2です。 magicオプションはオンです。 以上、よろしくお願いします。

  • 正規表現で

    正規表現で 8文字以上、15文字以内で1文字以上の英語(大文字小文字どちらか一方で可)と数字が含まれている表現を考えているのですが、思いつきません。 [0-9a-zA-Z]{8,15} だと全て数字・英語でも通ってしまうので、困っています。 どなたか詳しい方、ご教授ください。

専門家に質問してみよう