"공간을 차지하는 보이지 않는 공백 문자"란 무엇입니까?

"공간을 차지하는 보이지 않는 공백 문자"란 무엇입니까?

정규식을 사용하여 유니코드 문자를 찾을 수 있습니다. 존재하다얀 고이박 웹사이트의미를 이해하지 못하는 정규식을 찾았습니다.

\p{Zs}또는 \p{Space_Separator}: 보이지 않지만 공간을 차지하는 공백 문자

그래서 제가 제대로 하고 있는 건지 궁금해요 :aWhitespace Character

  • 두 단어, 열, 행 등 사이의 "빈" 공간입니다.
  • 흰 종이/스크린만 포함되어 있기 때문에 "보이지 않습니다".
  • 그것이 차지하는 위치는 문자, 기호 또는 이와 유사한 것으로 점유될 수 없기 때문에 "공간을 차지합니다".

이것으로부터 나는 다음과 같은 결론을 도출한다질문:

  • 어디'보이는공백 문자'
  • 공백 문자일 수 있습니다'공간을 차지하지 않습니다'

이는 정의와 완전히 반대입니다. 둘 다 완벽하게 이해되지만 관점에 따라 둘 다 같은 것을 설명할 수 있습니다. 빈 공간은 흰 종이/화면 외에는 아무것도 표시되지 않기 때문에 보이지만 볼 수 있는 것이 없기 때문에 보이지 않습니다. 이 시점에서 나는 철학과의 경계선을 느낀다: 무(無)의 양을 상대편으로 측정하는 방법 등.

답변1

일부 고전적인 ASCII 보이지 않는 공백 문자는 다음과 같습니다.

  • 상표:\t
  • 새로운 팀:\n
  • 입력하다:\r
  • 페이지 변경:\f
  • 수직 탭:\v

이들 모두는 컴퓨터에서는 문자로 취급되어 인간에게는 공백으로 나타난다.

다른 보이지 않는 문자는 다음과 같습니다

  • 반지:\a
  • 백스페이스 키:\b

Frostschutz가 제공한 Wikipedia 기사의 긴 목록입니다.

답변2

PCRE 소스 테스트 스위트에서:

/^\p{Zs}/8
    \ \
    \x{a0}
    \x{1680}
    \x{180e}
    \x{2000}
    \x{2001}

그럼... 최소한 공백, 줄바꿈 없는 공백, 오간 공백 표시자, 몽골어 모음 구분 기호, en 쿼드, em 쿼드가 포함되나요?

Python 3에 따른 정규식을 사용하는 \p{Zs}의 의미https://pypi.python.org/pypi/regex(표준 Python은 \p{Zs}를 이해하지 못합니다:

$ python3
Python 3.2.3 (default, Mar 23 2013, 23:30:23) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import regex
>>> import sys
>>> allofunicode=''.join([c for c in map(chr, range(sys.maxunicode+1))])
>>> regex.findall(r'\p{Zs}', allofunicode)
[' ', '\xa0', '\u1680', '\u180e', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200a', '\u202f', '\u205f', '\u3000']

(죄송합니다. 코드가 이상합니다. Perl에서는 할 수 있지만 Perl은 매우 녹슬었습니다. :P)

관련 정보