「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python の正規表現における「\d」と「[0-9]」の違いは何ですか?

Python の正規表現における「\d」と「[0-9]」の違いは何ですか?

2024 年 11 月 8 日に公開
ブラウズ:109

What is the difference between

[Characters]: Regex の \d

Python スタイルの正規表現の "\d" 文字クラスは、数字の一致に使用されます。通常、数字は数字 (0 ~ 9) として定義されます。ただし、「\d」の動作はプログラミング言語と実装によって異なる場合があることに注意してください。

Python の場合、「\d」は Unicode の \p{Nd} を満たす文字と一致します。プロパティには以下が含まれます:

  • [0-9] - ASCII 数字
  • À-Þ、à-þ - Latin-1 数字
  • 0- 9 - CJK 数字
  • ٠-٩ - アラビア・インド数字

観察:

シーケンス「123」でそれについて言及しました, 「\d」は「1」と「3」には一致しますが、「2」には一致しません。これは、Python の「\d」が Unicode 数字と一致するためです。Unicode 数字には、特定のコンテキストで「1」や「3」などの選択された文字のみが含まれます。この場合の文字「2」は Unicode 数字として認識されません。

コンテキストや言語に関係なく、任意の数字文字と一致するには、代わりに「[0-9]」を使用する必要があります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3