2017-11-21 16 views
0

文字列の最後にある1文字の間の空白を削除しようとしています。Redshiftの1文字の間のスペースを置き換えます(POSIX正規表現、つまりルックアラウンドなし)

たとえば、私は、この必要があります:キャッチはこれが唯一のPOSIXをサポートして赤方偏移、であるということである

SOME会社LLC

:これになることを

SOME会社LLC

を正規表現なので、人生を楽にしすぎるような先読み(?=)を使うことはできません。

私がこれまで持っている最も近いものは次のとおりです。

(\s.{1,3}$) 

はこちらをご覧ください:https://regexr.com/3h81p

をしかし、これはあまりにも文字を選択します。私はL P、L C、N Aなどのファイルがもっと多いので、文字をLCで置き換えることはできません。そのため、それらの間の空白を置き換えるだけでいいです。

+0

正規表現のリンクを提供する場合は、テストケースの例を教えてください。 – Alexander

+0

本当にPOSIX BRE/EREsか、 '\ <', '\>'、 '\ s'、' \ S'などありますか? – AlexP

+0

'\ b'(単語境界)と後方参照をサポートしていますか? – anubhava

答えて

1

を検索:

(\s\w)\s(\w)\s?(\w?)$ 

と交換してください:

$1$2$3 

を。これは、行の末尾に2選抜アウト文字または3選抜アウト文字と文字の間にスペースを取り除くために働く必要があります。

+0

ニース、これは動作します。しかし、余分なエスケープを追加しなければならなかった:(\\ s \\ w)\\ s(\\ w)\\ s?(\\ w?)$ –

関連する問題