1

私はGREPコマンドを持っています:

(?<=say).+.".+?"

say (ただしそれは含まない)、引用符で囲まれた単語、およびその間の文字を含むすべての行が検索されます。

引用された単語のみ(間の文字ではなく)を変更したいのですが、

(?<=say)(?<=.+.)".+?"

これは機能しません。

変更する必要があるテキストの例を次に示します。

私は船長に「サー、家に帰りたい」と話した。

……「これが道だ」と。

これは、GREP コマンドで次のように変更する必要があります。

私は船長に「サー、帰りたいです」と話しかけました。

「これが道だ」と

誰かが私を助けることができますか?

4

1 に答える 1

3

可変長の後読みはできないと思います。これは REGEX のほとんどのフレーバーでは不可能であり、ID の場合はそうであるに違いありません。1 つは「say」の後のすべてにスタイルを適用し、もう 1 つは say と引用符の間のテキストからスタイルを削除します (もちろん、これはその間に他のレンダリングがないことを前提としています)。または、最初の正規表現を使用していくつかの文字を挿入し、それを検索して斜体を適用するための基礎として使用することもできます。または、スクリプト化することもできます。

このページでは、後読みの制限について説明しています: http://www.regular-expressions.info/lookaround.html

肯定的な後読みと先読みを使用して、'say' と引用符の間のコンテンツを検索する例:

(?<=say).+?(?=")
于 2014-09-24T21:42:13.113 に答える