質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Q&A

解決済

1回答

300閲覧

JavaScript上での正規表現を用いた改行付き文字列の分割抽出の方法

nocturnum

総合スコア8

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

0グッド

1クリップ

投稿2018/01/04 07:43

JavaScript上での文字列の分割の仕方にて、
任意の文字列ごとに文字列を分割する際の正規表現が分からず質問させて頂きました。

現在、改行(\n)が含まれている文字列を「文字列:整数:」から「^\n」までの文字列毎に分割し配列として格納するという処理を作ろうとしています。

例として以下の文字列を分割する場合、

text

1柳原白蓮 「私の思い出」より抜粋\n 2Miss:1: 以下の単語を修正してください\n 3 ...徳川三〇〇年の政府が倒れて多く、...\n 4 ^\n 5Miss:2: 以下の単語を修正してください\n 6 ...日本はまったく旭日笑点の勢いでした...\n 7 ^\n

(Miss:N:) ~~~ (^\n)毎に文字列を分割して

text

1Miss:1: 以下の単語を修正してください\n 2 ...徳川三〇〇年の政府が倒れて多く、... 3 ^\n

text

1Miss:2: 以下の単語を修正してください\n 2 ...日本はまったく旭日笑点の勢いでした...\n 3 ^\n

にそれぞれ分割したいと考えています。

現在のソースコードは以下の通りですが、なぜか配列の二番目()に元の文字列がすべて格納されてしまいます。

javascript

1var text = (元の文字列); 2var anchor = "Miss"; 3 4var arr = text.match(new RegExp("(" + anchor + ":[0-9]:)[\s\S]*(\^\n)","g")); 5

粗い内容で申し訳ありませんがご回答をよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

基本的に正規表現は欲張りさんです。

こういうやりかたで解決できますかね?

投稿2018/01/04 07:51

moredeep

総合スコア1507

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nocturnum

2018/01/04 08:05

恥ずかしながら、正規表現のマッチングの範囲について知りませんでした。 以下のコードで試したところ意図通りの答えが返ってきました。 ありがとうございます! var arr = text.match(new RegExp("(" + anchor + ":[0-9]:)[\s\S]*?\^\n","g"));
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問