javascriptの正規表現で、特定のパターンの時に文字を追加する方法を教えて下さい。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらjavascriptの正規表現で、特定のパターンの時に文字を追加する方法を教えて下さい。データを<font><span>123</span><font><span>456</span></font><span>789</span></font>に置き換えたい。置き換えは2ステップで実施したい。a[0]=<font>a[1]=123a[2]=<font>a[3]=456a[4]=</font>a[5]=789a[6]=</font>の様にsplitしたい。2step目は・・・forで処理できるので私でも作れると思います。//trueこれでできます。配列にするパターンも必要ですか?kameoyaji_2さんのコメント出来れば、配列にするパターンでお願いします。追加する時に、TAG(<font>)をパースして、fontの属性を元にspanの属性を設定してあげないといけないもので。Cherenkovさんのコメントそれだと入れ子になったfontの場所の特定がごちゃごちゃになりませんかね。src.split(/(<.+?>)/);ary.shift()ary.pop()console.log(ary)||<kameoyaji_2さんのコメントこれだと、a[0]=123a[1]=456a[2]=789になってしまいますね。a[0]=&#60;font&#62;a[1]=123a[2]=&#60;font&#62;a[3]=456a[4]=&#60;/font&#62;a[5]=789a[6]=&#60;/font&#62;にはできないものでしょうか?実際には、元の色情報を元に、文字色と背景色を特定のパラメータ(可変の計算式)で変換したいもので、単純置き換えが出来ないのがつらいところです。src.split(/(<.+?>)/);ary.shift()ary.pop()alert(ary)alert(ary[0])alert(ary[1])||<Cherenkovさんのコメント「元の色情報を元に、文字色と背景色を特定のパラメータ(可変の計算式)で変換したい」そのサンプルを提示してみてはいかがでしょうか。特定パターンならfor文とか必要ないかもしれませんよ。replace一発で計算結果に置換できるかも。kameoyaji_2さんのコメント現状は、下記の様なソースで、実現させています。正規表現の処理に切り替えて、視認性と、処理コストを低めたいと考えています。*/func1(v_div);a-kuma3さんのコメント文字列で処理しようとするから、ぐちゃぐちゃしちゃうんじゃないでしょうか。使う方がすっきりすると思います。Cherenkovさんのコメント文字列で処理するならば、「想定する特定パターンの入力の文字列」と「希望する出力の文字列」を提示してみるのはどうでしょう。a-kuma3がおっしゃるようにDOMを掴んで処理したほうが正規表現でやるよりいいと思います。DOMで処理するならば「想定する入力のHTML」と「希望する出力のHTML」を提示してみてください。(そもそも入れ子のfontというのは修正したほうがいいと思いますが)kameoyaji_2さんのコメント入れこのフォントは・・・・。他のシステムから、HTMLは作られてきている物で、入れこのFONTを止めて・・とは言えないです。文字列の加工を行った後は、DOMのいinnerHTMLにHTMLの文字列を渡して、nodeを再帰的に辿って処理をする予定でいます。textの部分を、<span>タグでくくってからdomでパースさせたいと考えています。しないと、nodeツリーをたどって、子ノードが無い(#text等は有ってもタグが存在しない)ノードで#textを入手し連結して表示されるテキスト文字を構成することが出来ないもので。最終的に行いたいのは、入れ子のFONTタグをなくして、入れ子なしでSPANで作成する+同時に色を調整する。いうのが最終的な作りたい動きです。Cherenkovさんのコメント「最終的に行いたいのは、入れ子のFONTタグをなくして、入れ子なしでSPANで作成する+同時に色を調整する」そのサンプルを提示したほうが、話が早いと思うのですが。くくった表現に変換するコードを書いてみました。くくった表現に変換します。試してみたのがこれです。単位の改行は手で入れてます)。動かしてみれば分かると思います。やりたいのは、こういうことではないでしょうか?kameoyaji_2さんのコメントやりたいことドンピシャです。ありがとうございます。修理...Luaのパターン(正規表現)の表記方法について質問です。□はてなトップ(C)株式会社はてな。