std::regex_traits<CharT>:: lookup_collatename
|
template
<
class
ForwardIt
>
string_type lookup_collatename ( ForwardIt first, ForwardIt last ) const ; |
||
Si la séquence de caractères
[
first
,
last
)
représente le nom d'un élément de collation valide dans les paramètres régionaux actuellement imbriqués, retourne le nom de cet élément de collation. Sinon, retourne une chaîne vide.
Les éléments de collation sont les symboles trouvés dans les expressions régulières POSIX entre
[.
et
.]
. Par exemple,
[.a.]
correspond au caractère
a
dans la locale C.
[.tilde.]
correspond également au caractère
~
dans la locale C.
[.ch.]
correspond au digraphe
ch
dans la locale tchèque, mais génère
std::regex_error
avec le code d'erreur
std::regex_constants::error_collate
dans la plupart des autres locales.
Paramètres
| first, last | - | une paire d'itérateurs qui détermine la séquence de caractères représentant un nom d'élément de collation |
| Exigences de type | ||
-
ForwardIt
doit satisfaire aux exigences de
LegacyForwardIterator
.
|
||
Valeur de retour
La représentation de l'élément de collation nommé sous forme de chaîne de caractères.
Exemple
#include <iostream> #include <regex> #include <string> struct noisy_traits : std::regex_traits<char> { template<class Iter> string_type lookup_collatename(Iter first, Iter last) const { string_type result = regex_traits::lookup_collatename(first, last); std::cout << "regex_traits<>::lookup_collatename(\"" << string_type(first, last) << "\") returns \"" << result << "\"\n"; return result; } }; int main() { std::string str = "z|}a"; // Ordre de collation locale C : x,y,z,{,|,},~ std::basic_regex<char, noisy_traits> re("[x-[.tilde.]]*a", std::regex::basic); std::cout << std::boolalpha << std::regex_match(str, re) << '\n'; }
Sortie possible :
regex_traits<>::lookup_collatename("tilde") returns "~"
true