2016-05-25 6 views
0

これらをそれぞれ1つのregEx式に結合するにはどうすればよいですか?あなたは、単一の行でそれをしたい場合は、使用してこのregEx式を結合する方法

t = t.replace(/^</, '').replace(/>+$/, ''); 

を試してみてください<>

+0

「または」演算子を'使用してみてください? – HamZa

答えて

2

のように...この

t = t.replace(/^<|>+$/g, ""); 

またはキャプチャグループと同様の正規表現を組み合わせるためにあなたは、パイプ|を使用することができます。正規表現では意味OR:あなたが追加したことを確認してください

t = "<test>>".match(/\w+/)[0]; 
// "test" 

t = "<test>>".replace(/^<|>+$/g, ""); 
// "test" 

しかし、もちろん、あなたのような別の方法を使用することができます。

t = "<test>>".replace(/[<>]/g, ""); 
// "test" 

かさえ一致してg - 必要に応じてグローバルフラグ。このフラグは、のすべての出現を表します。 `|

+0

答えを編集します。最初のものは私が探していたものですが、試してみましたが、グローバルフラグがないため、最初の< – MtnManChris

0

せずにテストに等しいトンになり

var t = "<test>"; 
t = t.replace(/^</, ''); 
t = t.replace(/>+$/, ''); 

|この

t = t.replace(/^<(.*)>+$/g, '$1'); 
+0

OPは具体的に単一の正規表現を要求しました... – Siguza

+0

私の悪い..単一行として読んでください。 –

1

私が正しく理解していればあなただけの「<」シンボルをと「>」記号を終了開始置き換えたい、この1 [>$^<]

var t = "<test>"; 
t = t.replace('/[>$^<]/', ''); 
+1

が置き換えられました。これは動作しません。最初は正規表現ではないので、文字列リテラル '[> $^<]'を ''で置き換えることになります。第2に、私が正規表現である場合、それは単に< not the > – MtnManChris

+0

を置き換えます。実際には、グローバルフラグのためにgを追加すると動作します... t = t.replace(/ [> $^<]/g、 ''); – MtnManChris

+0

ああ、申し訳ありません。スラッシュの代わりに引用符を使用しました。更新された回答を確認してください –

関連する問題