Что такое категория {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.