prosource

한 줄에 있는 단어 사이에 공백이 두 개 이상 있는 항목을 검색하는 방법

probook 2023. 5. 23. 22:01
반응형

한 줄에 있는 단어 사이에 공백이 두 개 이상 있는 항목을 검색하는 방법

한 줄에 있는 단어 사이에 공백이 두 개 이상 있는 항목을 검색하는 방법

1. this is a line containing  2 spaces
2. this is a line containing   3 spaces
3. this is a line containing multiple spaces first  second   three   four

위의 모든 항목은 이 정규식에 유효한 일치 항목입니다.어떤 정규식을 사용해야 합니까?

[ ]{2,}

스페이스(2개 이상)

또한 해당 공백 앞과 뒤에 단어가 뒤에 오는 것을 확인할 수 있습니다.(탭이나 새 줄과 같은 다른 공백 제외)

\w[ ]{2,}\w

동일하지만 교체와 같은 작업에 대한 공간만 선택(선택)할 수도 있습니다.

\w([ ]{2,})\w

또는 공백 앞과 뒤에 단어 문자(공백 제외)뿐만 아니라 모든 것이 있는지 확인합니다.

[^\s]([ ]{2,})[^\s]

간단한 솔루션:

/\s{2,}/

하나 이상의 공백 문자가 모두 일치합니다.두 개 이상의 연속 공백 문자가 포함된 경우에만 전체 행을 일치시켜야 하는 경우:

/^.*\s{2,}.*$/

공백이 연속적일 필요가 없는 경우:

/^(.*\s.*){2,}$/

이 정규식은 모든 공간을 선택합니다. 이 공간을 사용하고 단일 공간으로 바꿀 수 있습니다.

\s+

python 예제

result = re.sub('\s+',' ', data))

검색:[ ]{2,}이렇게 하면 선 내에서 두 개 이상의 인접 공간이 발견됩니다.또한 선행 및 후행 공백뿐만 아니라 전체가 공백으로 구성된 선과 일치합니다.만약 당신이 그것을 원하지 않는다면, 알렉산더의 대답을 확인하세요.

사실 괄호는 생략할 수 있습니다. 괄호는 단지 명확성을 위한 것입니다(그렇지 않으면 반복되는 공백 문자는 잘 보이지 않습니다 :).

문제는\s{2,}즉, Windows 파일의 새 줄과 일치합니다(새 줄은 다음과 같이 표시됨).CRLF또는\r\n그것과 일치하는.\s{2}.

여러 개의 탭과 공백도 찾으십시오.[ \t]{2,}.

이것이 나의 해결책입니다.

[^0-9A-Z,\n]

이렇게 하면 모든 숫자, 쉼표 및 새 줄이 제거되지만 데이터 집합과 같은 중간 공간이 선택됩니다.

  • 20171106,16632 ESCG0000018SB
  • 20171107,280 ESCG0000018SB
  • 20171106,70476 ESCG0000018SB

언급URL : https://stackoverflow.com/questions/3758798/how-to-search-for-occurrences-of-more-than-one-space-between-words-in-a-line

반응형