"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 정규 표현식에서 \\ d와 \ [0-9 \] 또는 \ [0123456789 \] 사이의 효율 비교

정규 표현식에서 \\ d와 \ [0-9 \] 또는 \ [0123456789 \] 사이의 효율 비교

2025-04-15에 게시되었습니다
검색:759

Is \d Really Less Efficient Than [0-9] or [0123456789] in Regex?

\ d는 [0-9]

만큼 효율적이지 않습니다.

최근 토론에서 일부 사람들은 정기적으로 [0-9] 또는 \ d \ d \ d 는 다른 두 옵션보다 덜 효율적임을 보여주었습니다.

비 효율성의 가능한 원인

  1. 유니 코드 번호 : \ d 는 공통 0-9뿐만 아니라 모든 유니 코드 번호를 포함합니다. 따라서 비표준 비표준 수를 구문 분석하면 정규식 엔진이 느려질 수 있습니다.
  2. 불필요한 추가 기능 : \ d 에는 [0-9] 이외의 추가 기능이 포함되어있어보다 복잡한 처리가 필요할 수 있습니다. 이러한 추가 기능은 효율성에 영향을 줄 수 있습니다.

테스트 결과

이 문제를 증명하기 위해 다음 테스트가 수행되었습니다.

    10,000 개의 임의 문자열, 각각 1000 자, 그 중 절반에는 숫자가 포함되어 있습니다.
  • 각 정규 표현식에 대한 문자열을 처리하는 데 소비 된 시간 (
  • \ d , [0-9] , , [0123456789] ) :
  • ]
에 대한 시간 비율 00 : 00 : 00 : 00.2141226 100%]]] 63.42% 결과는
정규 표현 시간 \ d
\디]
[0-9] 00 : 00 : 00 : 00.1357972
00 : 00 : 00 : 00.1388997 64.87%
[0-9]

[0123456789] 가 효율성 측면에서 \ d 보다 훨씬 우수함을 보여줍니다.

결론에서

\ d

는 더 넓은 범위의 디지털 매칭 기능을 제공 할 수 있지만 성능이 희생되었습니다. Performance-Critical Applications의 경우 더 간단한 [0-9] 또는 [0123456789] 를 사용하는 것이 좋습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3