正規表現を使用してUnicode文字を検索できます。 Jan GoyvaertsのWebサイト 意味がわからない正規表現を見つけました:
\p{Zs}
または\p{Space_Separator}
:表示されないが、スペースを占める空白文字
だから私はこれを正しく理解したのだろうか:a Whitespace Character
これによると、私は次の質問に行きました:
これは定義されているものとは正反対です。どちらも完全に理にかなっていますが、視点によっては、どちらも同じように説明できます。白紙/画面以外に何も表示されていないため、空のスペースが表示されますが、何も表示されないため、表示されません。この時点で、私は哲学との境界を感じます。それは、対応するものよりも無の量をどのように測定するかなどです。
いくつかの古典的なASCII非表示の空白文字は次のとおりです。
\t
\n
\r
\f
\v
これらはすべて、コンピューターによって文字として扱われ、人間には空白として表示されます。
他の見えない文字は次のとおりです
\a
\b
同様にfrostschutzによって与えられたウィキペディアの記事の長いリスト。
PCREソーステストスイートから:
/^\p{Zs}/8
\ \
\x{a0}
\x{1680}
\x{180e}
\x{2000}
\x{2001}
つまり...少なくとも、スペース、ノーブレークスペース、オガム文字のスペースマーク、モンゴルの母音区切り文字、en quad、em quadが含まれていますか?
Python 3 using regex https://pypi.python.org/pypi/regex (standard Python reは\ 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)