34657

[code]

    let title1 = "2017年 3月号 / No.98";
    let title2 = "2017年 10月号 / No.105";
    
[/code]

上記のような文字列を格納した変数があり、この中から年の値(2017)をyear、月の値(3 or 10)をmonth、No.の値(98 or
105)をnumberといった変数に格納する場合、どのような正規表現を利用し、取得すれば良いでしょうか？  
ご教示のほど、よろしくお願いいたします。


CC BY-SA 3.0
2017-05-12T06:58:16.207
34655
2017-05-12T07:55:45.760
19780
question
javascript 正規表現 typescript
javascript/typescriptにて文字列から特定の値を抜き出し変数に格納する


[文字列.match(正規表現)](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/match)
でマッチした結果が配列で得られます。  
数値は`(\d+)`の様にマッチする部分を指定します。  
`/`は、`\/`のようにエスケープします。  
（間のスペースが複数だったり単数だったりゆらぎがある場合にはその部分も[正規表現](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions)とする必要があります。）  
（`result[0]`はマッチした全体、以降は`( )`で指定した部分マッチ）  
（`result =`の部分は`[dummy, year, month, number]
=`にも[できます](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment)。(ブラウザによっては未サポートであることに注意下さい)`dummy`が必要なのは最初がマッチの全体なため）  
以下例：

[code]

    let title1 = "2017年 3月号 / No.98";
    
    let result = title1.match(/(\d+)年 (\d+)月号 \/ No.(\d+)/);
    let year = result[1];
    let month = result[2];
    let number = result[3];
    console.log("year:", year);
    console.log("month:", month);
    console.log("number:", number);
[/code]


CC BY-SA 3.0
2017-05-12T07:16:42.897
34657
2017-05-12T07:55:45.760
2017-05-12T07:55:45.760
5044
5044
34655
answer