入力された番号が標準的な米国の電話形式 ((###) ###-####) であることを確認するために使用する正規表現があります。私は正規表現が初めてで、各文字の正確な機能を理解するのにまだ苦労しています。誰かがこの部分を少しずつ読んでくれたり、私が理解していることを確認してくれたりしたら、本当に感謝します. また、正規表現が間違っている場合は、明らかにそれを知りたいです。
\D*?(\d\D*?){10}
私が考えていること:
\D*?( は、括弧のメタ文字のエスケープ シーケンスを示します...なぜ \D*? が必要なのかわかりません
\d は数字を示します
\D*? は数字以外の文字があることを示します (- ) の後に閉じ括弧が続きます
。10 桁の場合は {10}
正規表現がその順序になっている理由などに関して私の理解が非常に曖昧であるように、これを説明するのは非常に不確かです。助け/説明をよろしくお願いします。
編集
これは、私が望むものに最適な正規表現ではないようです。別の可能性は [(][0-9]{3}[)] [0-9]{3}-[0-9]{4} でしたが、これは失敗すると言われました。これを理解するには、正規表現でもう少し作業を行う必要があると思います。