2015-12-06 10 views
5

正規表現方言に含まれるものを除くすべての空白を削除します。 キャプチャグループ

はJavaScript

I持ってエスケープ引用符を除く引用符で囲まれた文字列を選択し、以下のキャプチャグループ (('|").*?[^\\\2]\2)

は、私は今、このパターンに一致ものを除く文字列からすべての空白を削除したいと思いますが...例えば

"Felix's pet" 
'Felix\'s pet' 

をこれらにマッチします。キャプチャグループ\1を参照してマッチから除外する方法がありますか?

私は限られたRegEx知識でこれを実行しようとしましたが、それまではパターンの直前または直後のスペースしか選択できませんでした。

私の例で遊びたい場合は、便宜のために私のテストスクリプトをregexrに保存しました。

意図した結果

key : stringになるkey:string

dragon : "Felix's pet"

dragon:"Felix's pet"

"Hello World" something here "Another String"

なる

となります

など...

+0

@anubhava:私は二重投票に同意しません - 受け入れられた回答は、その質問の特殊な文字列構造でのみ動作する戦略を使用し、エスケープされた引用であなたの(より良い)回答は失敗します。再投票する投票。 –

+0

@TimPietzcker:十分に公正で、私はより良いdupがあると確信していますが、私は私の検索を使用して見つけることができませんでした。 – anubhava

+2

@SnareChops:あなたの正規表現はエスケープされた引用符を考慮しようとしていますが、それは間違っています(あなたの文字クラスは間違っていて、うまく機能していてもバックスラッシュがある場合は 'foo \\ '閉じ引用の前に、それはエスケープバックスラッシュではありません。あなたはそのようなケースを処理する必要がありますか? –

答えて

関連する問題