質問するログイン新規登録

回答編集履歴

3

typo修正

2017/08/27 14:37

投稿

think49
think49

スコア18194

answer CHANGED
@@ -36,6 +36,6 @@
36
36
 
37
37
  今までの書き方では、`()`, `[]` がネストされたパターンには対応できません。
38
38
  ネストされたパターンに対応する為には `(` と同じ数だけ `)` を消費しなければなりませんが、`(` の数をカウントして正規表現パターンに反映させる手段が用意されていないからです。
39
- 対応する為には `RegExp.prototype.exec` 繰り返しマッチさせる必要があります。
39
+ 対応する為には `RegExp.prototype.exec` 繰り返しマッチさせる必要があります。
40
40
 
41
41
  Re: ponsea さん

2

再帰処理である必要はありませんでした

2017/08/27 14:37

投稿

think49
think49

スコア18194

answer CHANGED
@@ -36,6 +36,6 @@
36
36
 
37
37
  今までの書き方では、`()`, `[]` がネストされたパターンには対応できません。
38
38
  ネストされたパターンに対応する為には `(` と同じ数だけ `)` を消費しなければなりませんが、`(` の数をカウントして正規表現パターンに反映させる手段が用意されていないからです。
39
- 対応する為には `RegExp.prototype.exec` を再帰処理で繰り返しマッチさせる必要があります。
39
+ 対応する為には `RegExp.prototype.exec` を繰り返しマッチさせる必要があります。
40
40
 
41
41
  Re: ponsea さん

1

ネスト\(入れ子\)された括弧を考慮しなくて良いのであれば

2017/08/27 14:37

投稿

think49
think49

スコア18194

answer CHANGED
@@ -19,6 +19,7 @@
19
19
  # String.prototype.match
20
20
 
21
21
  `String.prototype.match` は消費した文字列を配列化する為、正しい文字列パターンを指定すれば同じ場所に2回マッチする事はありません。
22
+ 後述のネスト(入れ子)された括弧を考慮しなくて良いのであれば、このコードは質問文の要件を満たします。
22
23
 
23
24
  ```JavaScript
24
25
  'use strict';