[python] 정규식에서 “\ d”는 숫자를 의미합니까?

나는 그에서 발견 123, \d일치 1하고 3있지만를 2. \d어떤 종류의 요구 사항을 충족시키는 숫자와 일치 하는지 궁금합니다 . 파이썬 스타일 정규식에 대해 이야기하고 있습니다.

Gedit의 정규 표현식 플러그인은 Python 스타일 정규식을 사용하고 있습니다. 내용이있는 텍스트 파일을 만들었습니다.

123

단지 1와는 3정규식에 의해 일치 \d; 2아니다.

일반적으로 사이에 다른 문자가없는 일련의 숫자는 홀수 순서 만 일치하고 짝수 순서는 일치하지 않습니다. 예를 들어,에서를 들어 12345, 성냥은 1, 35.



답변

[0-9] 항상 동일하지 않습니다\d. python3에서 문자 [0-9]만 일치 하고 일치 및 다른 숫자 문자 (예 : 동부 아라비아 숫자)를 찾습니다 . 0123456789\d[0-9]٠١٢٣٤٥٦٧٨٩


답변

\d파이썬을 포함하여 대부분의 정규식 문법 스타일의 모든 한 자릿수와 일치합니다.
정규식 참조


답변

파이썬 스타일 정규 표현식에서 \d모든 개별 숫자와 일치합니다. 당신이 그렇게하지 않는 것 무언가를보고있는 경우, 제공하시기 바랍니다 전체 단지 하나 개의 특정 심볼 것을 설명 반대로, 당신이 사용하는 정규식.

>>> 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>


답변

\\d{3} Java에서 세 자리의 모든 시퀀스와 일치합니다.


답변

이것은 추측 일 뿐이지 만, 편집기는 실제로 모든 한 자리 숫자 1 2 3와 일치하지만, 전체 123문자열이 일치 하는 경우와 구별하기 위해 홀수 일치 만 강조 표시됩니다 .

대부분의 정규식 콘솔은 서로 다른 색상으로 연속 된 일치를 강조 표시하지만 플러그인 설정, 터미널 제한 또는 기타 이유로 인해 다른 모든 그룹 만 강조 표시 될 수 있습니다.


답변

.NET / C #에 관한 정보 :

10 진수 문자 : \ d \ d는 10 진수와 일치합니다. \ p {Nd} 정규식 패턴과 동일합니다. 여기에는 표준 10 진수 0-9와 다른 여러 문자 집합의 10 진수가 포함됩니다.

ECMAScript 호환 동작이 지정되면 \ d는 [0-9]와 같습니다. ECMAScript 정규식에 대한 자세한 내용은 정규식 옵션의 “ECMAScript 일치 동작”섹션을 참조하십시오.

정보 : https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-classes-in-regular-expressions#decimal-digit-character-d


답변