c#정규식 의 이유는
보다 낮습니다.
d
및 [0-9]
문자 세트보다 낮습니다. 이 발견은 두 가지 문제를 일으켰습니다 :
<.> 1. 왜 를 설정하는 것보다 범위가
<.> 2. 왜 의 효율이 보다 낮습니까? <..>
테스트에 따르면 의 효율은 보다 상당히 낮다는 것을 발견했습니다. d
는 일반적으로 의 약어로 간주되기 때문에 이것은 특히 수수께끼입니다. 추가 조사는 근본적인 차이를 보여줍니다
[0-9]
일치하는 유니 코드 번호, 일치하는 ASCII 번호 [0123456789]
ASCII 번호 만 (0-9), 일치 모든 유니 코드 숫자 . 여기에는 페르시아 숫자 (۱۲۳۴۵۶۷۸۹) 및 다바 가리 숫자 (०१२३४५६७८९)와 같은 다른 언어 및 캐릭터의 문자가 포함됩니다. 이를 증명하기 위해 다음 코드는 모든 유니 코드 번호를 포함하는 문자열을 생성합니다.
생성 된 문자열은 아랍어, 태국, Khamno 및 기타 캐릭터의 문자를 포함하여 숫자로 식별 된 다양한 문자를 보여줍니다.
성능 충격 [0-9]
[0123456789]
를 사용하면
보다 더 나은 성능이 생성됩니다.위 내용은 C# Regex에서 숫자 일치하는 경우 왜`\ d '가`[0-9]`보다 덜 효율적인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!