1

私は周りを見回して、これを取得することができただけでした: \b(\w+)\b([\w\W]*)\b\1\b、で置き換えます: $1$2

ただし、次の場合のように、単語を削除することによってのみ機能します。

word1, word2, word1, word2, word3
*you get:*
word1, word2, word3

私が欲しいのは、あなたが持っている場合です:

"i love you","i love you too", "i love you", "i love you so much"

私は取得する必要があります:

"i love you","i love you too", "i love you so much"
4

1 に答える 1

2

単語全体に一致する正規表現があり、次にグループ 1 でキャプチャされた単語全体の最後の出現までの任意の 0+ 文字があります。

"単語境界を に置き換え、\wパターンを[^"](not ) に置き換える正規表現が必要になりました"。さらに、オプションのコンマと空白を一致させることができます。

検索対象:("(?!\s*,\s*")[^"]+")(.*)\1,?\s*
置き換え:$1$2
.一致する改行オプションは、重複が複数行にまたがって表示される可能性がある場合にオンにする必要があります。

フィールド区切り文字を削除しないように、(?!\s*,\s*")否定先読みは", "一致と同様にすべて失敗します。

すべての重複を削除するには、[すべて置換] を数回クリックする必要があります。

"he loves you","i love you",が削除された画面の例を参照してください。

ここに画像の説明を入力

于 2016-12-29T07:18:47.990 に答える