Je suis un passionné d'expressions régulières. Alors que j'écrivais une expression régulière pour rechercher des versets sans ponctuation finale :
[^\\][^\p{P}\d]\r\n\\v
ou
[^\\l][^\p{P}\d]\r\n\\v \d+ \p{Lu}
, j'ai réalisé que la variante C# des expressions régulières dans RegexPal (et le filtrage/Process de FLEx) prend en charge les catégories de caractères Unicode abrégées (et non longues).
Voici certaines des plus utiles :
\p{L} Lettre (presque toute orthographe)
\p{Lu} Lettre majuscule
\p{Ll} Lettre minuscule
\p{P} Ponctuation
\p{M} Tout diacritique
Si le P après la barre oblique est en majuscule, cela signifie NON cette classe de caractères.
\P{L} Tout caractère non lettre
La liste complète :
\p{L} : tout type de lettre de n'importe quelle langue.
\p{Ll} : une lettre minuscule qui a une variante majuscule.
\p{Lu} : une lettre majuscule qui a une variante minuscule.
\p{Lt} : une lettre qui apparaît au début d'un mot lorsque seule la première lettre du mot est en majuscule.
\p{L&} : une lettre qui existe en variantes minuscule et majuscule (combinaison de Ll, Lu et Lt).
\p{Lm} : un caractère spécial utilisé comme une lettre.
\p{Lo} : une lettre ou un idéogramme qui n'a pas de variantes minuscule et majuscule.
\p{M} : un caractère destiné à être combiné avec un autre caractère (par exemple, accents, tréma, cadres, etc.).
\p{Mn} : un caractère destiné à être combiné avec un autre caractère sans occuper d'espace supplémentaire (par exemple, accents, tréma, etc.).
\p{Mc} : un caractère destiné à être combiné avec un autre caractère qui occupe un espace supplémentaire (signes vocaux dans de nombreuses langues orientales).
\p{Me} : un caractère qui encadre le caractère avec lequel il est combiné (cercle, carré, touche, etc.).
\p{Z} : tout type d'espace ou de séparateur invisible.
\p{Zs} : un caractère espace invisible, mais qui occupe de l'espace.
\p{Zl} : caractère de séparation de ligne U+2028.
\p{Zp} : caractère de séparation de paragraphe U+2029.
\p{S} : symboles mathématiques, signes monétaires, dingbats, caractères de dessin de boîtes, etc.
\p{Sm} : tout symbole mathématique.
\p{Sc} : tout signe monétaire.
\p{Sk} : un caractère de combinaison (marque) en tant que caractère complet à part entière.
\p{So} : divers symboles qui ne sont ni des symboles mathématiques, ni des signes monétaires, ni des caractères de combinaison.
\p{N} : tout type de caractère numérique dans n'importe quel script.
\p{Nd} : un chiffre de zéro à neuf dans n'importe quel script, à l'exception des scripts idéographiques.
\p{Nl} : un nombre qui ressemble à une lettre, comme un chiffre romain.
\p{No} : un chiffre en exposant ou en indice, ou un nombre qui n'est pas un chiffre de 0 à 9 (en excluant les nombres des scripts idéographiques).
\p{P} : tout type de caractère de ponctuation.
\p{Pd} : tout type de trait d'union ou de tiret.
\p{Ps} : tout type de parenthèse ouvrante.
\p{Pe} : tout type de parenthèse fermante.
\p{Pi} : tout type de guillemet ouvrant.
\p{Pf} : tout type de guillemet fermant.
\p{Pc} : un caractère de ponctuation tel qu'un tiret bas qui relie les mots.
\p{Po} : tout type de caractère de ponctuation qui n'est ni un tiret, ni une parenthèse, ni un guillemet, ni un connecteur.
\p{C} : caractères de contrôle invisibles et points de code inutilisés.
\p{Cc} : un caractère de contrôle ASCII ou Latin-1 : 0x00–0x1F et 0x7F–0x9F.
\p{Cf} : indicateur de mise en forme invisible.
\p{Co} : tout point de code réservé à un usage privé.
\p{Cs} : la moitié d'une paire de substituts dans l'encodage UTF-16.
\p{Cn} : tout point de code auquel aucun caractère n'a été attribué.
Documentation complète :
https://www.regular-expressions.info/unicode.html#category
I’m a Regular Expressions nerd. While I was writing a regex to look for verses with no ending punctuation:
[^\\][^\p{P}\d]\r\n\\v
or
[^\\l][^\p{P}\d]\r\n\\v \d+ \p{Lu}
, I realized that the C# flavor of RegEx in RegexPal (and FLEx filtering/Process) supports shorthand (not longhand) Unicode character categories.
Some of the most useful are:
\p{L} Letter (nearly any orthography)
\p{Lu} Uppercase letter
\p{Ll} Lowercase letter
\p{P} Punctuation
\p{M} Any diacritic
If the P after the slash is capital, it means NOT that character class.
The whole list:
\p{L}: any kind of letter from any language.
\p{Ll}: a lowercase letter that has an uppercase variant.
\p{Lu}: an uppercase letter that has a lowercase variant.
\p{Lt}: a letter that appears at the start of a word when only the first letter of the word is capitalized.
\p{L&}: a letter that exists in lowercase and uppercase variants (combination of Ll, Lu and Lt).
\p{Lm}: a special character that is used like a letter.
\p{Lo}: a letter or ideograph that does not have lowercase and uppercase variants.
\p{M}: a character intended to be combined with another character (e.g. accents, umlauts, enclosing boxes, etc.).
\p{Mn}: a character intended to be combined with another character without taking up extra space (e.g. accents, umlauts, etc.).
\p{Mc}: a character intended to be combined with another character that takes up extra space (vowel signs in many Eastern languages).
\p{Me}: a character that encloses the character it is combined with (circle, square, keycap, etc.).
\p{Z}: any kind of whitespace or invisible separator.
\p{Zs}: a whitespace character that is invisible, but does take up space.
\p{Zl}: line separator character U+2028.
\p{Zp}: paragraph separator character U+2029.
\p{S}: math symbols, currency signs, dingbats, box-drawing characters, etc.
\p{Sm}: any mathematical symbol.
\p{Sc}: any currency sign.
\p{Sk}: a combining character (mark) as a full character on its own.
\p{So}: various symbols that are not math symbols, currency signs, or combining characters.
\p{N}: any kind of numeric character in any script.
\p{Nd}: a digit zero through nine in any script except ideographic scripts.
\p{Nl}: a number that looks like a letter, such as a Roman numeral.
\p{No}: a superscript or subscript digit, or a number that is not a digit 0–9 (excluding numbers from ideographic scripts).
\p{P}: any kind of punctuation character.
\p{Pd}: any kind of hyphen or dash.
\p{Ps}: any kind of opening bracket.
\p{Pe}: any kind of closing bracket.
\p{Pi}: any kind of opening quote.
\p{Pf}: any kind of closing quote.
\p{Pc}: a punctuation character such as an underscore that connects words.
\p{Po}: any kind of punctuation character that is not a dash, bracket, quote or connector.
\p{C}: invisible control characters and unused code points.
\p{Cc}: an ASCII or Latin-1 control character: 0x00–0x1F and 0x7F–0x9F.
\p{Cf}: invisible formatting indicator.
\p{Co}: any code point reserved for private use.
\p{Cs}: one half of a surrogate pair in UTF-16 encoding.
\p{Cn}: any code point to which no character has been assigned.
Full Documentation:
https://www.regular-expressions.info/unicode.html#category
Traduit automatiquement depuis English Afficher l'original