이클립스에서 코드를 작성하면 일부 문자열을 찾기 위해 CTRL-F
을 수행 할 때 일반 단어의 대소 문자를 구별하는 표준화 된 옵션과는 별도로 정규식 검색 옵션도 있습니다 (메모장에 ++도 있음) .일반 정규 표현식을 최적화 할 수있는 방법이 있습니까?
나는 한두 번 시도했는데 일반적으로 결과는 거의 즉각적입니다. 그러나 결국 코드 파일은 엄청난 것이 아니며, 가장 큰 파일은 500 줄을 넘지 않으며 대부분의 줄은 절반 이하로 채워져 있습니다. 어떤 사용자 지정 정규 표현식이 큰 텍스트 (예 : 10-15MB 크기)에서 훨씬 빠르게 실행되도록 최적화 할 수있는 방법이 있습니까?
Rabin-Karp 또는 접미사 트리와 같은 표준화 된 검색 알고리즘이 여기에 적용되지 않기 때문에 어떤 방법도 생각할 수 없습니다!
"모든 사용자 제공 정규식"이라고 할 때 사용자에게 나쁜 정규 표현식을 쓸 수있는 백지 수표를 제공합니다. 예를 들어 많은 역 추적, 마지 막 한정 기호 등이 있습니다. 이를 최적화 할 수있는 방법이 없습니다. 같은 방식으로 코드를 빠르게 실행하는 컴파일러를 작성하는 것은 불가능합니다. – dasblinkenlight
역 참조를 제외하고 정규식을 약간 제한 할 수 있다면 성능을 크게 향상시킬 수 있습니다. http://swtch.com/~rsc/regexp/ –