2016-06-30 27 views
0

タグを削除して、タグの間に選択したテキストを上にしたいのですが、どうすればよいでしょうか?JavaScriptの正規表現

var pattern = 'We are <orgcase>liViNg</orgcase> in a <upcase>yellow submarine</upcase>.' 
var myRegexp = /<upcase>(.*?)<\/upcase>/g; 
var match = "$1"; 
var str = pattern.replace(myRegexp, match.toUpperCase()); 
console.log(str); 
+0

XML/HTMLパーサーが必要 – gdros

+0

あなたの目標は何ですか?新しいマークアップ言語を作っていますか? – niceman

+0

'var str = pattern.replace(myRegexp、(m、m1)=> m1.toUpperCase());' [fiddle参照](https://jsfiddle.net/x6twum5o/)を試してください。 'm1'は'(。*?) '最初のキャプチャグループに対応しています。 –

答えて

2

あなたはマッチした値がそれに供給して処理することができるように、コールバックでreplaceを使用する必要があります。その後、タグを除去するよう

var str = 'We are <orgcase>liViNg</orgcase> in a <upcase>yellow submarine</upcase>.' 
var str = str.replace(/<upcase>(.*?)<\/upcase>/g, function($0) { return $0.toUpperCase(); }); 
alert(str); 

str = str.replace(/<\/?[^>]+>/g, ''); 

Fiddle

+0

私はwrtite qustionに尋ねませんでした。今編集されています –

+2

あなたの質問は同じままです、私はそれに答えました。 – Utkanos