설명

설명

검색해서 실험해 보려고 했는데, 도저히 알 수 없었습니다.

메모장++에는 다음과 같은 줄이 있습니다.

102.

또는

12

전체 줄(그래서 \n\r이 필요할 것 같아요)과 모든 종류의 줄을 삭제하고 싶습니다. 어떻게 해야 합니까? (소수점 1개인지, 소수점 2개인지, 소수점 3개인지 또는 그 뒤에 점이 있는지 없는지는 모르겠습니다).

답변1

귀하의 요구 사항이 무엇인지(즉, 삭제할 줄의 가능한 내용이 무엇인지) 100% 명확하지는 않지만 줄이 1에서 3 사이의 숫자로 시작한다는 가정을 바탕으로 정규식을 만들었습니다. , 선택적으로 마침표가 나오고 줄에 다른 내용(시작 또는 끝)이 없습니다.

무엇을 찾다 :^\d{1,3}\.?\r?\n?

다음으로 바꾸십시오: (공백)

다음 데이터 세트에서 테스트되었습니다.

102.
102
12
12
1.
1
9999
ab21.
8442.

뒤에 남는 것은

9999
ab21.
8442.

설명

^줄의 시작 부분에만 일치하는 특수 문자입니다. 이는 패턴이 단순히 긴 선의 끝에 있지 않은지 확인하기 위한 것입니다.

\d숫자 값(즉, 0-9)을 일치시키는 데 사용됩니다.

{1,3}는 이전 문(이 경우 \d)을 수정하는 데 사용되며 해당 문이 일치하도록 할 최소 및 최대 횟수를 지정하는 데 사용됩니다. 따라서 이 줄은 1회에서 3회(포함) 사이의 숫자와 일치시키려는 것을 의미합니다.

\.점 문자를 일치시키는 데 사용됩니다. .모든 문자와 일치하는 데 사용되는 정규 표현식의 특수 문자입니다(기본적으로 개행 문자는 제외, Notepad++에는 이 동작을 변경하는 옵션이 있음). 따라서 "일치하는 패턴" .이 아닌 "문자" 로 인식되도록 하려면 백슬래시로 이스케이프 처리해야 합니다..

?는 와 유사하게 마지막 문을 수정하는 데 사용되지만 {1,3}이번에는 이전 문( [.])이 선택 사항임을 의미하는 데 사용됩니다(기술적으로는 0~1번 사이에 일치시키라고 말하지만 최종 결과는 동일함).

\r?\n?이미 언급한 대로 새 줄을 일치시키는 데 사용됩니다. 정규식은 이것이 없어도 작동하지만 줄을 제거하지 않고 지우기만 합니다(빈 줄을 남겨둡니다). \r둘 다 선택적으로 만들면 \nWindows, Linux 및 Mac에서 이식 가능해집니다.

마지막으로, 이 필드를 공백으로 남겨두는 이유 Replace with :는 삭제하려는 줄에 어떤 것도 다시 들어가지 않기를 바라기 때문입니다.

이것이 당신이 찾고 있던 것이기를 바라며, 그렇지 않다면 올바른 방향을 알려줄 것입니다.

관련 정보