Q&A
解決済
2回答
426閲覧
総合スコア14
正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。
0グッド
1クリップ
投稿2018/11/19 01:19
0
1
タイトルの通りなのですが、正規表現が使えるツールを使ってデータ加工をしていて 特定の文字に挟まれている部分全てに任意の文字を挿入したいです。
単純に「ああ」を「あいあ」に置換する、という設定にすると 「あいああいああ」になってしまします。 ※二つのペアずつでしか見てくれない
この「ああ」を「あいあ」に置換する処理をもう一度走らせれば解決するのですが 正規表現で一行で書けないでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
回答2件
ベストアンサー
後読みが使える環境であれば、/あ(?=あ)/をあいに置換すればいいでしょう。この正規表現は、「次に『あ』が来る『あ』」だけにヒットします。
/あ(?=あ)/
あい
javascript1var foo = 'あああああ' 2var replaced = foo.replace(/あ(?=あ)/g, 'あい')
javascript
1var foo = 'あああああ' 2var replaced = foo.replace(/あ(?=あ)/g, 'あい')
投稿2018/11/19 01:26
総合スコア147054
回答へのコメント
2018/11/19 04:10
のどちらかでしょう(実質上記で十分)
※上記間違えてました とりあえず連続した文字の間に何かつっこむならこう
javasript1var str="あああかかかああかかかあ"; 2var reg=/(.)(?=\1)/g; 3var replacement="$1い"; 4console.log(str.replace(reg,replacement));
javasript
1var str="あああかかかああかかかあ"; 2var reg=/(.)(?=\1)/g; 3var replacement="$1い"; 4console.log(str.replace(reg,replacement));
総合スコア118400
2018/11/19 01:30
2018/11/19 04:11
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
正規表現を使って「あああああ」を「あいあいあいあいあ」に置換したい
2018/11/19 04:10