Что такое категория {L} Юникод?
Я столкнулся с некоторыми регулярными выражениями, которые содержат [^\\p{L}]
. Я понимаю, что это использует некоторую форму категории Unicode, но когда я проверил документацию, я нашел только следующие категории "L":
Lu Uppercase letter UPPERCASE_LETTER
Ll Lowercase letter LOWERCASE_LETTER
Lt Titlecase letter TITLECASE_LETTER
Lm Modifier letter MODIFIER_LETTER
Lo Other letter OTHER_LETTER
Что такое L
в этом контексте?
Ответы
Ответ 1
Взято по этой ссылке: http://www.regular-expressions.info/unicode.html
Проверьте раздел Unicode Character Properties
.
\ p {L} соответствует одной кодовой точке в категория "письмо". Если ваш вход строка кодируется как U + 0061 U + 0300, он соответствует без акцента. Если вход кодируется как U + 00E0, он соответствует à с акцентом. Причина что обе кодовые точки U + 0061 (a) и U + 00E0 (à) относятся к категории "письмо", а U + 0300 - в категория "отметка".
Ответ 2
Я не вижу явного упоминания об этом, но пример на на этой странице означает, что \\p{L}
означает любую букву:
Categories may be specified with the optional prefix Is: Both \p{L} and \p{IsL} denote the category of Unicode letters.