※ ChatGPTを利用し、要約された質問です(原文:英・仏・独語で12文字以上の単語を抽出)
英・仏・独語で12文字以上の単語を効率的に抽出する方法は?
このQ&Aのポイント
英・仏・独語のテキストファイルから12文字以上の単語を抽出したいが、効率的な方法がわからない。
英語の場合はテキストエディタの正規表現を使ったgrepで検索する方法があるが、仏・独語では問題がある。
アポストロフィを2つ含む12文字以上の単語の抽出方法や、最初から12文字以上の単語だけを抽出する方法を教えてください。
英・仏・独語の多数のテキストファイルから12文字以上の単語だけ抽出したいのですが効率のよい方法はないでしょうか。
英語だけならテキストエディタの正規表現を使ったgrepで \w{12,} で12文字以上の単語を含む行を検索したうえで、\w{1,11} を空白と置換して削除してしまえばいいのですが(一緒に表示させるフルパスは別途消す必要がありますが)、仏・独語となるとイロイロ問題が出てきます。
例えば、仏語では a'bc'def のようなパターンの単語があります。これを単に検索するだけなら \w'\w+'*\w* で検索できますが、12文字以上と指定する方法がわかりません(アポストロフィがひとつだけなら \w'\w{10,} で12文字以上ということになるのですが…)。
そこで質問なのですが:
1. 上記の仏語のようにアポストロフィを2つ含む12文字以上の単語を抽出するにはどうしたらいいでしょうか。
2. そもそも12文字以上の単語を含む行をgrepしたうえで、11文字以下の単語を消去したりせずに、最初から12文字以上の単語だけを抽出する方法はないのでしょうか。
できれば、フリーウェなどを導入せずにテキストエディタやOffice系アプリなどだけで対処したいと思います。VBSでもOKですが、その場合は、初歩的なことしかわかりませんので、アドヴァイスというより丸投げしてしまうことになります。
どうかよろしくご助言をお願いします。
お礼
ご回答ありがとうございます。 初心者の私よりさらにITオンチの人(正規表現って何?という感じの人達)でも扱える仕組みを考えていたので、できればVBSなど実行環境をインストールしなくても動くものを想定していたのですが、VBSって初心者向けの解説書が少ないのであきらめました。 プログラムを組んだことはないのですが、頑張って Perl か AWK を勉強したいと思います。 その際は下記のリストを参考にさせていただきます。