回答編集履歴
4
だけ
    
        answer	
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            ---
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            先程示した正規表現は入れ子が二段階には対応していません。もし、対応しようとするともっと複雑になりますし、それこそ段階がいくつになるか不明となった場合、(現行仕様の)**JavaScript標準の正規表現では不可能**です。
         
     | 
| 
      
 7 
     | 
    
         
            +
            先程示した正規表現は入れ子が二段階には対応していません。もし、対応しようとするともっと複雑になりますし、それこそ段階がいくつになるか不明となった場合、(現行仕様の)**JavaScript標準の正規表現だけでは不可能**です。
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            括弧の対応が入れ子になっている場合でもマッチ可能にすることは一般的な正規表現ではできません。どうしても正規表現で行いたい場合は**部分式呼び出し**という機能を持った高度な正規表現を使う必要があります。私が知る限り、この機能を持った正規表現ライブラリは[Oniguruma(鬼車)](https://github.com/kkos/oniguruma)(または、その改変版である[Onigmo(鬼雲)](https://github.com/k-takata/Onigmo))しかありません。これらを標準で採用している言語はRubyとPHP(mbstringの一部であるmb_eregの正規表現)のみです。
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
         @@ -71,4 +71,4 @@ 
     | 
|
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
            ### ブラウザの環境でも使いたい
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
       74 
     | 
    
         
            -
            onigurumaパッケージはNode.js上でしか使用できません。ブラウザ上で動作させるには正規表現以外の方法を使う必要があります。要望があれば実装を考えます。
         
     | 
| 
      
 74 
     | 
    
         
            +
            onigurumaパッケージはNode.js上でしか使用できません。ブラウザ上で動作させるには正規表現以外の方法(他の検索やマッチを組み合わせる処理など)も使う必要があります。要望があれば実装を考えます。
         
     | 
3
コードにJavaScriptってかくの忘れた
    
        answer	
    CHANGED
    
    | 
         @@ -14,7 +14,7 @@ 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
            オリジナル、一段階のみ対応、そしてOniguruma版の三つを用意しましたので、それぞれ実行結果を比べてみてください。サンプルの文字列もいくつか増やしています。
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
            ```
         
     | 
| 
      
 17 
     | 
    
         
            +
            ```JavaScript
         
     | 
| 
       18 
18 
     | 
    
         
             
            // 無駄な文字列が入っているところから武器名を取り出すプログラム
         
     | 
| 
       19 
19 
     | 
    
         
             
            // aaa, bbb, ccc はダミーの文字列。
         
     | 
| 
       20 
20 
     | 
    
         
             
            import oniguruma from 'oniguruma'
         
     | 
2
表現の修正
    
        answer	
    CHANGED
    
    | 
         @@ -6,7 +6,7 @@ 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            先程示した正規表現は入れ子が二段階には対応していません。もし、対応しようとするともっと複雑になりますし、それこそ段階がいくつになるか不明となった場合、(現行仕様の)**JavaScript標準の正規表現では不可能**です。
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
            括弧の対応が入れ子になっている場合でもマッチ可能にすることは一般的な正規表現ではできません。どうしても正規表現で行いたい場合は**部分式呼び出し**という機能を持った高度な正規表現を使う必要があります。私が知る 
     | 
| 
      
 9 
     | 
    
         
            +
            括弧の対応が入れ子になっている場合でもマッチ可能にすることは一般的な正規表現ではできません。どうしても正規表現で行いたい場合は**部分式呼び出し**という機能を持った高度な正規表現を使う必要があります。私が知る限り、この機能を持った正規表現ライブラリは[Oniguruma(鬼車)](https://github.com/kkos/oniguruma)(または、その改変版である[Onigmo(鬼雲)](https://github.com/k-takata/Onigmo))しかありません。これらを標準で採用している言語はRubyとPHP(mbstringの一部であるmb_eregの正規表現)のみです。
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            ### どうしても正規表現を使いたい
         
     | 
| 
       12 
12 
     | 
    
         | 
1
文法の修正
    
        answer	
    CHANGED
    
    | 
         @@ -6,7 +6,7 @@ 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
            先程示した正規表現は入れ子が二段階には対応していません。もし、対応しようとするともっと複雑になりますし、それこそ段階がいくつになるか不明となった場合、(現行仕様の)**JavaScript標準の正規表現では不可能**です。
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
            括弧の対応が入れ子になっている場合でもマッチ可能にする 
     | 
| 
      
 9 
     | 
    
         
            +
            括弧の対応が入れ子になっている場合でもマッチ可能にすることは一般的な正規表現ではできません。どうしても正規表現で行いたい場合は**部分式呼び出し**という機能を持った高度な正規表現を使う必要があります。私が知るところ、この機能を持った正規表現ライブラリは[Oniguruma(鬼車)](https://github.com/kkos/oniguruma)(または、その改変版である[Onigmo(鬼雲)](https://github.com/k-takata/Onigmo))しかありません。これらを標準で採用している言語はRubyとPHP(mbstringの一部であるmb_eregの正規表現)のみです。
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            ### どうしても正規表現を使いたい
         
     | 
| 
       12 
12 
     | 
    
         |