나는 그에서 발견 123
, \d
일치 1
하고 3
있지만를 2
. \d
어떤 종류의 요구 사항을 충족시키는 숫자와 일치 하는지 궁금합니다 . 파이썬 스타일 정규식에 대해 이야기하고 있습니다.
Gedit의 정규 표현식 플러그인은 Python 스타일 정규식을 사용하고 있습니다. 내용이있는 텍스트 파일을 만들었습니다.
123
단지 1
와는 3
정규식에 의해 일치 \d
; 2
아니다.
일반적으로 사이에 다른 문자가없는 일련의 숫자는 홀수 순서 만 일치하고 짝수 순서는 일치하지 않습니다. 예를 들어,에서를 들어 12345
, 성냥은 1
, 3
와 5
.
답변
[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 일치 동작”섹션을 참조하십시오.