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

Я — фанат регулярных выражений. Пока я писал регулярное выражение для поиска стихов без завершающей пунктуации:
[^\\][^\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 очков)
снова показан | 342 просмотров

1 ответ

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

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

0 голосов
3 ответов 426 просмотров
Paratext поставляется со списком перекрёстных ссылок из GNT92 (Краткая библейская система ссылок, редактор Роберт Г ... новая трансляция просто повторно использует список GNT92?
LivingField 607 задал вопрос окт 29, 2018
0 голосов
0 ответов 141 просмотров
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 ответ 21 просмотров
<!--[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 ответов 620 просмотров
Уважаемый читатель. Я хотел бы найти \fq, за которым следует любая строка, включая ɛ ɔ ɲ ŋ, до первого ... советы, как ограничить поиск первым отсутствием? Заранее спасибо, Барт
goodgoan 347 задал вопрос авг 3, 2023
+1 голос
5 ответов 1,0тыс. просмотров
Я хочу изменить строчные буквы на заглавные в определённых ситуациях - например, я хочу изменить все строчные буквы после ... списка, а затем добавлять к нему по мере продвижения.
Phil_Leckrone 9,9тыс. задал вопрос мар 2, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Just as a body, though one, has many parts, but all its many parts form one body, so it is with Christ.
1 Corinthians 12:12
3,049 вопросов
6,007 ответов
5,672 комментариев
2,029 пользователей