0

私はこの形式にちょうど一致する単純な電話番号の正規表現を探していました:(XXX)XXX-XXXX<---括弧とそれらの後に必要なスペースがあります

私の人生では、なぜこれが機能しないのか理解できません(これは私が自分で作ってみて何時間もいじくり回してきたものでした):

^[\(0-9\){3} [0-9]{3}-[0-9]{4}$

私はオンラインでどこでも、その特定の形式が役に立たない正規表現を探しました。助けてください?

4

6 に答える 6

6

次の正規表現は機能します

^\(\d{3}\) \d{3}-\d{4}$

^ = start of line
\( = matches parenthesis open
\d = digit (0-9)
\) = matches parenthesis close
于 2012-10-28T17:38:47.330 に答える
1

これが機能しているものです

/^\(\d{3}\) \d{3}-\d{4}\s$/


あなたの問題:

数字を一致させるには\d、または[0-9](角かっこが必要です。最初に使用した場合は忘れてしまいます)括弧の使用\(とを一致させます\)。それらはエスケープする必要があります。そうしないと、一致として解釈され、正規表現はコンパイルされません。

于 2012-10-28T17:39:13.180 に答える
1

あなたが抱えている問題は次のとおりです。

  1. 次のように、バックスラッシュを使用して特殊文字(括弧など)をエスケープする必要があります。\(
  2. 最初に閉じていない角かっこがあります。

そうでなければ、あなたは良いです!

于 2012-10-28T17:40:51.803 に答える
0

[]文字クラスを定義します。例:「この1つの文字スポットでは、次のいずれかが一致する可能性があります」。ブラケットの位置がずれています:

^[\(0-9\){3} [0-9]{3}-[0-9]{4}$
 ^---no matching closer

例えば

^[0-9]{3} [0-9]{3}-[0-9]{4}$

あなたが望むものに近いでしょう。

于 2012-10-28T17:40:35.437 に答える
0
/(\(\d{3}+\)+ \d{3}+\-\d{4}+)/ (000) 000-0000

/(\d{3}+\-\d{3}+\-\d{4}+)/ 000-000-0000
于 2014-02-06T01:23:06.407 に答える
0

編集済み^\(?\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

于 2020-06-09T00:52:46.703 に答える