• 締切済み

正規表現のパターン

<value:type>1</value:stype> <item:img url="http://hoge/"></item:img> <description>hogehoge hogehoge </description> みたいなXMLの「value:」と「item:」を「」に置換(消す)して、「description」の改行文字を削除したいのですが、どのようなパターンになるのでしょうか?

みんなの回答

回答No.1

急がばまわれというカンジで 一発の正則表現でやろうとせずに おとなしく置き換えを2回にわけ 置き換えメソッドを使って var str="元の文字列" var CR=String.fromCharCode(13) var reg1=new RegExp("(value:)?(item:)?","g") var reg2=new RegExp("(?<=\<description\>).*(?=\<\/description\>)","gs") str=str.replace(reg1,"") str=str.replace(reg2,repFnc) function repFnc(str,ind,allStr):String{ return str.replace(new RegExp(CR,"g"),"") } 結果 <type>1</stype> <img url="http://hoge/"></img> <description>hogehogehogehoge</description> うまいこといったようです 改行の消去がうまくいかなかったらとりあえず \nにするかキャラコードを10にするかで多分なおるはず 強制改行か改段落かの違いです

関連するQ&A