Что такое категория {L} Unicode?

Я столкнулся с некоторыми регулярными выражениями, которые содержат [^\\p{L}], Я понимаю, что здесь используется какая-то форма категории Юникод, но когда я проверил документацию, я обнаружил только следующие категории "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 в данном контексте?

2 ответа

Решение

По этой ссылке: http://www.regular-expressions.info/unicode.html

Проверить Unicode Character Properties раздел.

\ p {L} соответствует одной кодовой точке в категории "буква". Если ваша входная строка кодируется как U+0061 U+0300, она соответствует без акцента. Если вход à закодирован как U+00E0, он соответствует à с ударением. Причина в том, что обе кодовые точки U+0061 (а) и U+00E0 (а) находятся в категории "буква", а U + 0300 - в категории "знак".

Я не вижу явного упоминания об этом, но пример на этой странице показывает, что \\p{L} означает любую букву:

Categories may be specified with the optional prefix Is: Both \p{L} and \p{IsL} denote the category of Unicode letters.
Другие вопросы по тегам