Visual Studio Search : 특정 단어가 앞에 오는 경우는 검색되지 않지만 단어 찾기 [중복]

Jan 12 2021

예를 들어, Visual Studio의 텍스트 검색을 사용하여 텍스트 파일에서 "hot dog"의 "dog"이 아닌 "dog"의 모든 인스턴스를 찾으려고합니다. 나는 비슷한 질문을 발견하고 그 대답을 시도했습니다.

\w+(?<!hot) dog

"핫도그"는 제외되지만 문제는 다른 경우에 가능한 모든 조합과 일치한다는 것입니다. 즉, "사냥개"의 경우 다음 인스턴스로 이동하려면 "다음 찾기"를 7 번 클릭해야합니다. VS는 해당 인스턴스의 모든 다음 부분에 대해 중지되기 때문입니다.

hunting dog
unting dog
nting dog
ting dog
ing dog
ng dog
g dog

또한 앞에 아무것도없는 경우 (첫 번째 단어) 단어와 일치하지 않습니다. 표현은 어떻게 바꾸나요?

답변

Jossnix Jan 12 2021 at 14:43

질문은 완전히 명확하지 않습니다. "개"라는 단어를 찾으려면 검색에서 해당 단어 만 지정하면됩니다. 이전 단어 + dog를 찾으려면 다음을 사용하십시오.

\b\w+\s+dog

"hot"이라는 단어를 제외하려면

(?<!hot )\bdog
MichałTurczyn Jan 12 2021 at 14:54

패턴 시도 (?!<hot )dog

패턴 설명 :

(?!<hot ) -부정적인 룩백-선행이 아닌 것을 주장 hot

dog- dog말 그대로 일치

데모