質問: "2017年 10月号 / No.105"; ``` 上記のような文字列を格納した変数があり、この中から年の値(2017)をyear、月の値(3 or 10)をmonth、No.の値(98 or 105)をnumberといった変数に格納する場合、どのような正規表現を利用し、取得すれば良いでしょうか? ご教示のほど、よろしくお願いいたします。
回答: 文字列.match(正規表現) でマッチした結果が配列で得られます。 数値は`(\d+)`の様にマッチする部分を指定します。 `/`は、`\/`のようにエスケープします。 (間のスペースが複数だったり単数だったりゆらぎがある場合にはその部分も正規表現とする必要があります。) (`result[0]`はマッチした全体、以降は`( )`で指定した部分マッチ) (`result =`の部分は`dummy, year, month, number] =`にも[できます。(ブラウザによっては未サポートであることに注意下さい)`dummy`が必要なのは最初がマッチの全体なため) 以下例: ``` 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); ```