person Deepak Kumar    schedule 06.12.2018    source источник


Ответы (1)


Это соответствует «большинству» символов Unicode; но он довольно явно пропускает основные управляющие символы ASCII и, в частности, новую строку (U + 000A), поэтому версия с отступом не работает.

[\u0020-\uD7FF] означает «любой одиночный символ Юникода между U+0020 и U+D7FF». Это включает в себя весь печатный диапазон ASCII (включая пробелы U+0020 и A U+0041), большинство символов большинства языков, многие математические символы и многое другое; [\u0020-\uD7FF\uE000-\uFFFD] — это «любой символ между U+0020 и U+D7FF или между U+E000 и U+FFFD», то есть все символы, определенные до того, как они начали выделять кодовые точки выше U+10000. От U+D800 до U+DFFF не существует (хотя это регулярное выражение явно включает их), а также от U+FFFE и U+FFFF. \t в конце — это вкладка ASCII U+0009.

Это регулярное выражение допускает некоторые символы, такие как неразрывный пробел U+00A0 и другие управляющие символы, отличные от ASCII, в диапазоне от U+0080 до U+009F. Он не позволяет использовать новые символы, такие как смайлики, начинающиеся с U+1F600.

Если у вас есть регулярное выражение, соответствующее буквам ASCII, таким как [A-Za-z]*, вы можете переписать его в синтаксисе кодовой точки Unicode как [\u0041-\u005A\u0061-\u007A]*.

person David Maze    schedule 07.12.2018