188

123が に一致し、 に\d一致13ないことがわかりました2\dどのような要件を満たす数字に一致するかどうか疑問に思っていましたか? 私はPythonスタイルの正規表現について話しています。

Gedit の正規表現プラグインは、Python スタイルの正規表現を使用しています。コンテンツが次のテキストファイルを作成しました

123

1とのみ3が正規表現に一致し\dます。2ではありません。

一般に、間に他の文字を含まない一連の数字の場合、奇数桁のみが一致し、偶数桁は一致しません。たとえば、12345では、一致は13および5です。

4

6 に答える 6

530

[0-9] は必ずしも と同等ではありませ\d。Python3 では、文字[0-9]のみに一致しますが、東アラビア数字などの他の数字文字にも一致します。 0123456789\d[0-9]٠١٢٣٤٥٦٧٨٩

于 2011-06-25T18:06:14.277 に答える
17

\dPython を含むほとんどの正規表現文法スタイルの任意の 1 桁に一致します。 正規表現リファレンス

于 2011-06-25T17:38:13.340 に答える
16

Python スタイルの正規表現では、\d個々の数字に一致します。それを行わないように見えるものがある場合は、特定の 1 つのシンボルを説明するだけではなく、使用している完全な正規表現を提供してください。

>>> import re
>>> re.match(r'\d', '3')
<_sre.SRE_Match object at 0x02155B80>
>>> re.match(r'\d', '2')
<_sre.SRE_Match object at 0x02155BB8>
>>> re.match(r'\d', '1')
<_sre.SRE_Match object at 0x02155B80>
于 2011-06-25T17:36:18.003 に答える
10

\\d{3}Java の 3 桁の任意のシーケンスに一致します。

于 2014-06-16T08:56:15.403 に答える
8

これは単なる推測ですが、あなたのエディターは実際にはすべての数字に一致すると思います — — ただし、文字列1 2 3全体が一致する場合と区別するために、奇数の一致のみが強調表示されます。123

ほとんどの正規表現コンソールは、連続した一致を異なる色で強調表示しますが、プラグインの設定、端末の制限、またはその他の理由により、ケースでは他のすべてのグループのみが強調表示される場合があります。

于 2015-02-01T16:32:26.527 に答える