私は正規表現のPythonで作業していますが、私はこの問題に遭遇しました。Pythonの正規表現[ d +]
有効な携帯電話番号は、これに7,8または9 私の解決策として始まる10桁の番号です:私はエラーを取得した
います。後で私は
if len(x)==10 and re.search(r'^[7|8|9]+\d+$',x):
に変更しました。すべてのテストケースが合格しました。私は使用して、[]
\d+
の正規表現の使用の違いを知りたいですか?
おかげ
私は正規表現のPythonで作業していますが、私はこの問題に遭遇しました。Pythonの正規表現[ d +]
有効な携帯電話番号は、これに7,8または9 私の解決策として始まる10桁の番号です:私はエラーを取得した
います。後で私は
if len(x)==10 and re.search(r'^[7|8|9]+\d+$',x):
に変更しました。すべてのテストケースが合格しました。私は使用して、[]
\d+
の正規表現の使用の違いを知りたいですか?
おかげ
また、行うことができます:
if re.search(r'^[789]\d{9}$', x):
は、正規表現は、明示的な長さの代わりに、無限の繰り返しを使用してlen(x)==10
一部を処理させます。
[]
と+
に関する一般的な説明は必要なものだと思います。
[]
は、内部で指定された1文字と一致します。
例:[qwe]
はq
,w
またはe
と一致します。
[]
の式を入力する場合は、[^ expression]
とする必要があります。
+
は、1つ以上の要素と一致します。 例:qw+e
マッチqwe
、qwwe
、qwwwwe
、等...
注:これは、要素0回以上の前*
*
としてマッチとは異なります。すなわちqw*e
はqe
にも一致します。
\d
数字と一致します。
'[\ d] +'は正しいはずですが、[\ d +]は数字かプラスのいずれかのチャプターを意味します。また文字クラスから '|' sを取り除いてください。 '|'とだけ扱われます。 –
私はあなたが正規表現のチュートリアルを読む必要があると思います。あなたは本当に '()'を使っているようです。 – Barmar
'[]'は内部で1文字を探します。例: '[abc]'は 'a'、' b'または 'c'を探します。 –