정규식에서 "\ d"는 숫자를 의미합니까?


147

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

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

123

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

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


4
\d일치 1, 23. 그렇지 않은 경우 표현에 다른 것이 있어야합니다. 당신은 당신의 전체 표정을 보여줄 수 있습니까?
Alex Aza

4
\d는 속기 [0-9]이므로 일치해야합니다 2. 완전한 테스트 케이스 (문제를 시연 할 수있는 스크립트)를 게시하면 문제가 무엇인지 파악할 수 있습니다.
zwol

@delnan : "123에서 \ d는 1과 3과 일치하지만 2와는 일치하지 않습니다."
Amber

@ 앰버 : 젠장, 난 그리워!

5
좋아, 내가하지 않기 때문에 대답으로이를 게시하고 있지 않다 알고 ,하지만 난 gedit를 이전 경기 종료 후 즉시 새로운 경기를 시작하기를 거부하다에 무슨 일이 일어나고 있는지 생각 - 그것이 무엇이든, 하나 개의 문자를 건너 뜁니다 , 다시 일치시키기 전에. 11111및을 (를) 시도하십시오 22222.
zwol

답변:


460

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


3
REPL에서 이것을 시도 : import re, re.match(r'\d', '٠١٢٣٤٥٦٧٨٩')일치하는 항목이 없습니다
nickf

1
@nickf는 python3에서 사용해보십시오.
wim

2
페르시아어와 아랍어, 자바 및 자바 스크립트 엔진의 경우, 사용 \ P {의 Nd}
알리레자 Fattahi

6
+1이지만 mmmm ... OP의 태그는 Python3의 모든 유니 코드 숫자 Python\d일치합니다. Python 2.7에서는 여전히 오래된 ASCII [0-9]입니다. 답을 분명히해볼 가치가 있습니다. :)
zx81

1
@FarazAhmad, 아마도, 모든 문자를 따로 지정해야합니다
Kirill Polishchuk

13

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


8

파이썬 스타일 정규 표현식에서 \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>

감사! 내 정규 표현식 파서는 gedit의 정규 표현식 플러그인입니다. 전체 내용은 123입니다.
Tim

7

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


@ amal-murali, java에서 임의의 숫자 시퀀스와 일치시키기 위해이 표현식을 사용하는 방법.
hasan.alkhatib

2
@HasanKhatib :\\d+
Amal Murali

5

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

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


1

.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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.