私はこの形式にちょうど一致する単純な電話番号の正規表現を探していました:(XXX)XXX-XXXX<---括弧とそれらの後に必要なスペースがあります
私の人生では、なぜこれが機能しないのか理解できません(これは私が自分で作ってみて何時間もいじくり回してきたものでした):
^[\(0-9\){3} [0-9]{3}-[0-9]{4}$
私はオンラインでどこでも、その特定の形式が役に立たない正規表現を探しました。助けてください?
私はこの形式にちょうど一致する単純な電話番号の正規表現を探していました:(XXX)XXX-XXXX<---括弧とそれらの後に必要なスペースがあります
私の人生では、なぜこれが機能しないのか理解できません(これは私が自分で作ってみて何時間もいじくり回してきたものでした):
^[\(0-9\){3} [0-9]{3}-[0-9]{4}$
私はオンラインでどこでも、その特定の形式が役に立たない正規表現を探しました。助けてください?
次の正規表現は機能します
^\(\d{3}\) \d{3}-\d{4}$
^ = start of line
\( = matches parenthesis open
\d = digit (0-9)
\) = matches parenthesis close
これが機能しているものです
/^\(\d{3}\) \d{3}-\d{4}\s$/
あなたの問題:
数字を一致させるには\d
、または[0-9]
(角かっこが必要です。最初に使用した場合は忘れてしまいます)括弧の使用\(
とを一致させます\)
。それらはエスケープする必要があります。そうしないと、一致として解釈され、正規表現はコンパイルされません。
あなたが抱えている問題は次のとおりです。
\(
そうでなければ、あなたは良いです!
[]
文字クラスを定義します。例:「この1つの文字スポットでは、次のいずれかが一致する可能性があります」。ブラケットの位置がずれています:
^[\(0-9\){3} [0-9]{3}-[0-9]{4}$
^---no matching closer
例えば
^[0-9]{3} [0-9]{3}-[0-9]{4}$
あなたが望むものに近いでしょう。
/(\(\d{3}+\)+ \d{3}+\-\d{4}+)/ (000) 000-0000
/(\d{3}+\-\d{3}+\-\d{4}+)/ 000-000-0000
編集済み^\(?\d{3}\)?\s?\-?\d{3}\s?\-?\d{4}$
PHPでの動作は次のとおりです
(999)999 9999
(999)999-9999
(999)999-9999
999 999 9999
999 999-9999
999-999-9999