+4 голосов
335 просмотров

Я — фанат регулярных выражений. Пока я писал регулярное выражение для поиска стихов без завершающей пунктуации:
[^\\][^\p{P}\d]\r\n\\v
или
[^\\l][^\p{P}\d]\r\n\\v \d+ \p{Lu}
, я понял, что вариант RegEx на C# в RegexPal (и в фильтрации/обработке FLEx) поддерживает сокращённые (а не полные) категории символов Unicode.

Некоторые из самых полезных:

  • \p{L} Буква (почти любой орфографический вариант)
  • \p{Lu} Заглавная буква
  • \p{Ll} Строчная буква
  • \p{P} Пунктуация
  • \p{M} Любой диакритический знак

Если P после косой черты записано заглавной буквой, это означает НЕ этот класс символов.

  • \P{L} Любой символ, не являющийся буквой

Полный список:

  • \p{L}: любой вид буквы из любого языка.
    • \p{Ll}: строчная буква, у которой есть заглавный вариант.
    • \p{Lu}: заглавная буква, у которой есть строчный вариант.
    • \p{Lt}: буква, которая появляется в начале слова, когда заглавной является только первая буква слова.
    • \p{L&}: буква, существующая в строчном и заглавном вариантах (комбинация Ll, Lu и Lt).
    • \p{Lm}: специальный символ, используемый как буква.
    • \p{Lo}: буква или иероглиф, у которого нет строчных и заглавных вариантов.
  • \p{M}: символ, предназначенный для соединения с другим символом (например, акценты, умлауты, обрамляющие рамки и т. д.).
    • \p{Mn}: символ, предназначенный для соединения с другим символом без занятия дополнительного места (например, акценты, умлауты и т. д.).
    • \p{Mc}: символ, предназначенный для соединения с другим символом и занимающий дополнительное место (знаки гласных во многих восточных языках).
    • \p{Me}: символ, обрамляющий символ, с которым он соединяется (круг, квадрат, клавиша и т. д.).
  • \p{Z}: любой вид пробела или невидимого разделителя.
    • \p{Zs}: невидимый символ пробела, но занимающий место.
    • \p{Zl}: символ разделения строк U+2028.
    • \p{Zp}: символ разделения абзацев U+2029.
  • \p{S}: математические символы, знаки валют, декоративные элементы, символы для рисования рамок и т. д.
    • \p{Sm}: любой математический символ.
    • \p{Sc}: любой знак валюты.
    • \p{Sk}: соединительный символ (знак) как самостоятельный полный символ.
    • \p{So}: различные символы, не являющиеся математическими символами, знаками валют или соединительными символами.
  • \p{N}: любой вид числового символа в любой письменности.
    • \p{Nd}: цифра от нуля до девяти в любой письменности, кроме иероглифических.
    • \p{Nl}: число, похожее на букву, например римская цифра.
    • \p{No}: верхний или нижний индекс цифры, или число, не являющееся цифрой 0–9 (исключая числа из иероглифических письменностей).
  • \p{P}: любой вид символа пунктуации.
    • \p{Pd}: любой вид дефиса или тире.
    • \p{Ps}: любой вид открывающей скобки.
    • \p{Pe}: любой вид закрывающей скобки.
    • \p{Pi}: любой вид открывающей кавычки.
    • \p{Pf}: любой вид закрывающей кавычки.
    • \p{Pc}: символ пунктуации, такой как подчёркивание, который соединяет слова.
    • \p{Po}: любой вид символа пунктуации, не являющегося тире, скобкой, кавычкой или соединителем.
  • \p{C}: невидимые управляющие символы и неиспользуемые кодовые позиции.
    • \p{Cc}: управляющий символ ASCII или Latin-1: 0x00–0x1F и 0x7F–0x9F.
    • \p{Cf}: невидимый индикатор форматирования.
    • \p{Co}: любая кодовая позиция, зарезервированная для частного использования.
    • \p{Cs}: одна половина суррогатной пары в кодировке UTF-16.
    • \p{Cn}: любая кодовая позиция, которой не присвоен символ.

Полная документация:
https://www.regular-expressions.info/unicode.html#category

Переведено машиной с языка English
Paratext от (231 очков)
снова показан | 335 просмотров

1 ответ

0 голосов
***** Добавлено для удаления этого комментария из вопросов без ответов *****
Переведено машиной с языка English
от (9,9тыс. очков)

Похожие вопросы

0 голосов
3 ответов 411 просмотров
Paratext поставляется со списком перекрёстных ссылок из GNT92 (Краткая библейская система ссылок, редактор Роберт Г ... новая трансляция просто повторно использует список GNT92?
LivingField 607 задал вопрос окт 29, 2018
0 голосов
0 ответов 135 просмотров
Are there ways to display genealogy information that helps make sense of what can be a textual maze? I've looked ... just wonder what others have done-if anything. Thanks, Paul
Paul 642 задал вопрос авг 4, 2015
0 голосов
1 ответ 13 просмотров
<!--[if gte mso 9]> Normal 0 false false false EN-US EN-CA AR-SA MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9] ... 9.5.101.3, тогда как я все еще использую 9.4.101.25.
Kamesa49 102 задал вопрос сен 6, 2025
0 голосов
2 ответов 578 просмотров
Уважаемый читатель. Я хотел бы найти \fq, за которым следует любая строка, включая ɛ ɔ ɲ ŋ, до первого ... советы, как ограничить поиск первым отсутствием? Заранее спасибо, Барт
goodgoan 347 задал вопрос авг 3, 2023
+1 голос
5 ответов 890 просмотров
Я хочу изменить строчные буквы на заглавные в определённых ситуациях - например, я хочу изменить все строчные буквы после ... списка, а затем добавлять к нему по мере продвижения.
Phil_Leckrone 9,9тыс. задал вопрос мар 2, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And let us consider how we may spur one another on toward love and good deeds, not giving up meeting together, as some are in the habit of doing, but encouraging one another—and all the more as you see the Day approaching.
Hebrews 10:24-25
3,045 вопросов
6,005 ответов
5,671 комментариев
2,026 пользователей