Visual Studio의 여러 줄 정규식
Visual Studio에서 여러 줄에 걸쳐 정규식 바꾸기를 수행하도록하는 방법이 있습니까 (선 경계를 일치 시키도록 함)? 이를 위해 사용할 수있는 편집기가 많이 있다는 것을 알고 있지만이 기능이 Visual Studio에서 제외 된 것이 이상하게 보입니다. 내가 뭔가를 놓치고 있습니까?
파일 대화 상자에서 대체 사용 Ctrl- Shift- H와 한 줄 옵션 (?s)
:
(?s)start.*end
발견
start
two
three
end
단일 행은 각 파일이 단일 행으로 처리되고 점 .
은 개행 문자와 일치 함을 의미합니다 \n
. 단점 : 모두 찾기 를 사용 하여 모두 교체하거나 손으로 교체 해야합니다 . 다음 찾기가 작동하지 않습니다.
비 모달 대화 상자의 경우 Ctrl- H다음 찾기를 사용 (.*\n)*
하여 원하는 수의 행을 일치 시킵니다 .
start(.*\n)*.*end
어느 쪽이든 삽입하여 결과를 여러 줄로 바꿀 수 있습니다 \n
.
Visual Studio 2013 에서는 정규식이 변경되었습니다 . https://msdn.microsoft.com/en-us/library/2k3te2cs(v=vs.120).aspx
두 줄에 걸쳐 표현식을 일치 시키려면 이제 코드는 다음과 같습니다.
StartOfExpression.*\r?\n.*EndOfExpression
이것은 현재 Visual Studio 2012에서 작동합니다.
fooPatternToStart.*(.*\n)+?.*barPatternToEnd
(.*\n)+?
탐욕스럽지 않은 여러 줄 에서 부품이 어떻게 일치 하는지 확인하십시오 .
fooPatternToStart
시작 줄에 정규식 패턴 barPatternToEnd
이 있고 패턴은 아래 다른 줄에서 찾을 수 있습니다.
간단하고 효과적인 :)
참고 : VS2012 이전에 작동 한 패턴은 다음과 같습니다.fooPatternToStart.(.\n)+@.*barPatternToEnd
참고 :이 답변은 VS 2012까지 Visual Studio에서 사용되는 정규식 구문을 사용합니다. VS 2013 이상에서는 정규식 구문이 변경되었습니다.
\n
표현식에 포함 할 수 있습니다 . 예를 들어, 다음은 저장 프로 시저가 아닌 모든 것에서 자동 생성 된 SQL 스크립트를 "정리"하는 데 사용하는 정규식입니다 ( "Object :"를 포함하는 줄로 시작하는 텍스트 블록과 일치하지 않는 항목이 뒤 따르는 텍스트 블록과 일치합니다. "StoredProcedure", 다음 줄을 한 줄까지 일치 시키면 "GO"라는 단어로 구성됨) :
/\*+ Object\::b:b~(StoredProcedure)(.*\n)#GO\n
표현식 끝에 \ r \ n을 사용해야 할 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/4017278/multi-line-regular-expressions-in-visual-studio
'Nice programing' 카테고리의 다른 글
Angularjs에 다른 상수로 상수를 정의하는 방법이 있습니까? (0) | 2020.10.15 |
---|---|
텍스트보기에 인도 루피 기호 설정 (0) | 2020.10.15 |
iOS / Android의 웹 앱에서 기본 날짜 선택기 호출 (0) | 2020.10.14 |
절대 위치 내 절대 위치 (0) | 2020.10.14 |
특정 줄의 vim에서 검색 및 바꾸기 (0) | 2020.10.14 |