英語文章において、ある2つの語が共起する場合の検索方法を現す正規表現を教えていただきたいのです。
ある単語(例 accident )の前後ともに7語の範囲に、ある別の単語(例 died)が現れる箇所を検索したい、といった場合、今のところ私は、KWIC Finderというソフトで「NEAR」検索でやっているのですが、これをKWICを使わずに、普通のエディターなどで、grepで正規表現を使って検索する場合のやりかたを知りたいのです。一遍に前後ともにでなくとも、「accidentの後、7語以内にdied が現れる」、「accidentの前、7語以内にdiedが現れる」と分けてもいいのですが。どうぞよろしくお願いします。
No.4ベストアンサー
- 回答日時:
こんばんは。
7語って、7 Words のことですか?それなら、7単語ですね。
died (\w+\s){0,7}accident
accident (\w+\s){0,7}died
エディタによっては出来ないものがあるかもしれません。
一応、メタキャラクタを使いましたが、\w+\s で、一つの単語をあらわします。
sakura Editor は、標準の正規表現だったはずなので、大丈夫だと思います。
Wendy02さん、わかりました。できましたよ。これでよかったんですね。大げさに聞こえるかもしれませんが、私は、10年間ぐらい、これを求めてました。WZエディタを使って、英文を貯めてきたんですが、いざ、あるパターンを検索する場合、その正規表現の技術がないために、だいぶ苦労してしまいました。{0,7}っていうのはいいですね。0回から7回以内、という意味ですね。それからWordを表す、\w,スペースを表す\sも、そういう風に組み合わせるのか!と改めて、きれいな数式を見るようで感動しました。
7語というのも、英語をやっている人には7単語のことであるのが当たり前なのですが、ちゃんと伝えないとだめなんだなあということがよくわかりました。いい勉強になりました。感謝します。
No.3
- 回答日時:
died [-A-Z-a-z]+ [-A-Z-a-z]+ accident
でdiedとaccidentの間に2語英単語が入った英文を検索することができます。[-A-Z-a-z]+が1語に相当します。必要な単語の数だけ繰り返して入れればできます。それぞれ前後にスペースが必要です。WZ EDITORとサクラエディタで動作確認しました。WZ EDITORは市販品ですが、サクラエディタはフリーソフトで、正規表現、タグジャンプの機能はもちろんソースまで公開されています。フリーのエディタでこれほど高機能のものを私は知りません。
この回答への補足
moguyanさん、これを機会にエディタをいろいろ使ってみました。私は、さまざまな大量の英文のテキストから、ある表現を検索する目的でエディタを使うので、grepを一番使うのですが、この検索処理画面は気に入りましたよ。まず、条件入力の窓に、前回入力した条件が残っている点。そして、どのような検索をしたかが現われる点。どのエディタも軽くてすごいなあと思うのですが、このサクラエディタが気に入りました。grep以外の他の機能は使ってませんが(笑)。
いいものを教えていただき、質問した甲斐がありました。どうもありがとうございました。
moguyanさん、ありがとうございました。これは確実に行きました。私の使っていたほかのエディタでも同じ結果になりました。この英単語というのが、どう表現したらいいのかわかりませんでしたので、これでわかりました。この場合、しかし、7語以内の範囲で、どこでaccidentが来ても、それを検索したい、となったら、どうするのでしょうか。やはり[-A-Z-a-z]+ を1個1個7つまで加えていくしかないのでしょうか。
サクラエディタについて、ダウンロードしてみました。ありがとうございます。フリーでもすごいですね。
No.2
- 回答日時:
こんにちは。
エディタの何をお使いなのかは分かりませんが、
died が出現するのは、7語目までの解釈すれば、以下のようになります。
died.{1,6}accident
accident.{1,6}died
たとえば、スペースを考慮するなら、間に \s* を加えなくてはなりません。
この回答への補足
お休みのところ、ご回答ありがとうございます。
話が具体的でなくてすみませんでした。エディタはここでは秀丸と限定して、お話させてください。そして原文は One person died Tuesday in an industrial accident at a Scappoose recycling plant. という文とします。この場合、died と accident の間に4語あります。diedとaccidentの文例を集める際、まあ7語ぐらい離れていてもOKとする、という意味でdied とaccidentの間に7語あっても、その用例を検索したい、というのが今回の質問です。秀丸で died.{1,7}accidentと
入力したのですが、この部分が検索されません。スペースが問題なら、\s*を上の died.{1,7}accident のどこに入れればよかったのでしょうか。素人っぽい質問ですみません。
Wendy02さん、ご回答ありがとうございました。いくつかのエディタで試してみましが、たぶん私の理解が悪いと思うのですが、検索がうまくいきませんでした。恥ずかしい話ですが、ご回答のスペース考慮というのは、 died.\s*{1,6}\s*accidentということだったでしょうか。(それもうまくいきませんでした) この1,6という表現は強力そうで自分にも使えたらいいのになあと思ったんですが、自分にはもう少し勉強が必要なようです。どうもありがとうございました。
No.1
- 回答日時:
秀丸でしか確認してないですが、
accident.?.?.?.?.?.?.?died
died.?.?.?.?.?.?.?accident
で如何でしょうか?
(1つ目表現|2つ目の表現)でくっつけると、いっぺんにできるかと思います。
この回答への補足
どうも御回答ありがとうございます。質問させてください。素人でよくわからないのですが、ご回答の意味は、.(ピリオド)で一つの空間、?である単語という意味でしょうか。.は「改行を除く任意の1文字」?は「直前のパターンが0回もしくは1回現れる」ということですよね。ご回答のようにすると、どうして7語以内になるのか、という意味がわからないのです。今、実際に秀丸をダウンロードしてやってみたのですが、検索してくれないのは、私のやり方が悪いのかなあ。たとえば Brent walks over to the dresser.という文で、 Brent?.over とするとこの部分を検索してくれず、Brent.?.?.?.?.?.?.?over としたら、検索してくれました。(6回の.?では検索してくれない)この7回というのは何か意味があるのでしょうか。非常に初歩的な質問ですみません。
補足日時:2008/01/13 15:18 toshiki_saさん、お休みのところ、正規表現の質問にお答えいただきありがとうございました。died.?.?.?.?.?.?.?accidentをやってもお目当ての箇所を検索してくれない場合があります。「補足」で書きましたが、どうも.?が一語に対応していないような気がします。私のやり方が悪いかもしれません。
私は、わけがわからないながらも died.*accident とやったら多くの例が検索されました。died と accident の間の語数に関係なく(といってもそんなに離れていない状態のものを)検索してくれました。
また、何かでお世話になるかもしれません。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Created by~それともProduc...
-
売春婦を示す言葉の違い
-
「けち」の反対語
-
「当然に」とは?
-
「ぜひもの」という言葉の意味は?
-
word2007の1ファイル内で複数の...
-
飲食店やホテルの「店舗一覧」...
-
"administrative assistant"の...
-
味をリニューアルし、新しく生...
-
DoggyとPuppyの違いは?
-
source と resource
-
縦書きの場合の※の位置は?
-
「気付く」と打ちたい
-
高沸
-
Full(フル)の対義語・反意語が...
-
英語プレゼンに関してアドバイ...
-
かっこいいメールアドレス
-
明日(tomorrow)、明後日等の...
-
ユーチューブで、英検2級の過...
-
otherとpeopleの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
限定しりとり
-
Created by~それともProduc...
-
Full(フル)の対義語・反意語が...
-
英単語の後方一致検索
-
売春婦を示す言葉の違い
-
縦書きの場合の※の位置は?
-
「けち」の反対語
-
JRの車内アナウンスで「お出口...
-
飲食店やホテルの「店舗一覧」...
-
「当然に」とは?
-
"administrative assistant"の...
-
誰にも、誰にでも この両単語の...
-
「気付く」と打ちたい
-
英語でエロいと感じる単語って...
-
英語の文章
-
高沸
-
somehow『何故か』 somewhat『...
-
熟語と構文の違いがわかりませ...
-
漢字「渣」のシフトJISコー...
-
味をリニューアルし、新しく生...
おすすめ情報