c#정규 표현식 효율은
보다 낮습니다. : 문의 성능 차이
d
이 놀라운 결과를 설명하기 위해 몇 가지 가능한 이유를 살펴 보겠습니다.
<.> 1. 유니 코드 디지털 인식 :
는 에 지정된 10 자 뿐이 아니라 모든 유니 코드 번호를 나타냅니다. 유니 코드에는 페르시아 숫자 (۱۲۳۴۵۶۷۸۹)와 같은 다양한 언어의 다른 숫자가 포함되어 있습니다. 이 더 넓은 범위는 추가 계산 오버 헤드를 유발하여 [0-9]
의 효율을 줄일 수 있습니다.
이 개념을 설명하기 위해 다음 코드를 사용하여 모든 유니 코드 번호 목록을 생성 할 수 있습니다.
d
[0-9]
및 [0123456789]
를 달성 할 수 있으며, 이는 성능 차이로 이어질 수 있습니다. C#정규 발현 엔진은 효율성을 향상시키기 위해 d
>를 구체적으로 최적화 할 수 있으며, 더 넓은 범위의 는 이러한 최적화를 제한 할 수 있습니다. 결론 :
성능의 느린 성능은 유니 코드 수의 확장 인식으로 인한 것일 수 있습니다. 제한된 숫자 세트 (예 : 0-9)를 사용하면 또는 가 더 나은 효율성을 제공 할 수 있습니다. 그러나 다른 언어의 더 넓은 범위의 숫자를 일치시켜야한다면
는 여전히 강력한 도구입니다.위 내용은 C# Regex에서 왜`\ d`가`[0-9]``보다 덜 효율적인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!