2

多くのテキスト ファイルがあり、ファイルのコンテキストに存在する可能性のある特定の単語を見つける必要がありますが、必要なのは引用符で囲まれた単語だけです。

例: 引用符で囲まれている場合にのみ、「検索」という単語の下のテキストを検索します (「検索」という単語は異なる場合があります)。

1.  text text text text text text search text
2.  text "search text text text text" text
3.  text "SEARCH text text text text" text

この正確な例では、2 行目と 3 行目の単語のみが必要です。

私を助けることができる人に感謝します。

4

2 に答える 2

3

引用符のセットが 1 つだけであることを保証できる場合は、

/".*search.*"/i

すべきです。ただし、引用符のペアが複数存在する可能性がある場合は、閉じ引用符を開始引用符と間違えないように、偶数の引用符が渡されたことを確認する必要があります。

/^[^"]*("[^"]*"[^"]*)*"[^"]*search[^"]*"/i

ここにデモがあります。\n(デモには、単に表示目的で s が含まれていることに注意してください。) デモの正規表現に2 つ#の s がある場合は、それらを括弧で置き換えてください( )。これは、RegexPal が URL でデータをエンコードする方法の制限です。

于 2012-09-06T20:18:36.980 に答える
0

二重引用符で囲まれたすべてのワードが必要な場合は、次を使用しますgrep

 grep -E -o '".*"' inputfile

最初の単語だけが必要な場合:

sed  -E 's/.+"([[:alpha:]]+) .*/\1/' inputfile
于 2012-09-06T20:05:14.063 に答える