電話番号の正規表現を実行しようとしています。名前付きキャプチャを使用しているので、私の正規表現がもう少し理解しやすいものになることを願っています。
^(?<country_code>1|808)?(?<area_code>\d{3})?(?<local_number>\d{7})$
次のことを前提とします。
- 市外局番はすべて3桁です
- ローカル番号はすべて 7 桁です
- 国コードは 1 と 808 の 2 つだけです。
テスト:
12025551212
<-- 1 202 55512122025551212
<-- 202 55512128082025551212
<-- 808 202 55512128085551212
<--ここで問題
最後のテストの問題は、正規表現が808
を国コードと見なすことです。とはいえ、この文字列の は808
市外局番を表しています。808 が国コードではなく市外局番として解釈されるようにするには、正規表現をどのように変更すればよいですか?