Takuya71 のぶろぐ

外資系ソフトウェア会社で働いてます、認定スクラムマスター

JavaScriptで <>で囲まれた文字列の中身を取り出す

正規表現 いつもすぐ忘れちゃうので覚書。

やりたいこと

という文字列の < と > を取りたい。 hoge<も取り除きたい。

replace メソッドについて

replace method

サンプル

replace で 正規表現つかって取り除く

"<hogehoge>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"
">>><hogehoge>><>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"
">>><hogeh<>oge>><>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"
">>><hogeh<<>oge>><>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"
">>><hogeh<<>>oge>><>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"
"<>>><hogeh<<>>oge>><>".replace(/<*(.*?)>*/g,"$1")
"hogehoge"

文字の途中に 入るパターンでもうまく出来ている。

改行したい文字列に改行が含まれているとうまく行かない ことを発見

改行含む文字列.replace(/[\r\n]?/g,"") で先に改行を削除しておくことに。

"<>>><hogeh<<>>oge>><>".replace(/[\r\n]?/g,"").replace(/<*(.*?)>*/g,"$1");