사용자로부터 임의의 정규 표현식을 수락하고 전체 일치를 적용하기 위해 양측에 고정하려면 (^<user's-regex>$
) 그러나 사실을 고려해야하는지는 알 수 없습니다. 사용자가 이미 정규 표현식을 고정했을 수 있습니다.정규 표현식을 이중 고정
Perl, C++, .NET 및 JavaScript 모두 허용됩니다. double 다중 앵커링.
"hello" =~ /^h/ # true
"hello" =~ /^^h/ # true
"hello" =~ /^^^h/ # true
"hello" =~ /e/ # true
"hello" =~ /^e/ # false
"hello" =~ /^^e/ # false
이 방법으로 작동하도록 지정되어 있는지 알 수 있습니까? 이 행동에 의존 할 수 있습니까, 아니면 미래에 변할 수있는 사고입니까?
편집 : 그것은 .*a.*
에 문자열 abc
에 맞게 훨씬 느린 그래서 그러나이 모든 일치를 반환 우리가이 필요한 이유는 우리가, 우리가 match
를 VBScript를의 정규식의 (COM)에서 사용하고 사용하고 있다는 것입니다 ^.*a.*$
보다. @Tim에 의해 제안 된 앵커링을 사용하면 (긴 문자열 인 경우) 속도가 12 배 이상 일치합니다.
왜 필요합니까? – SilentGhost