Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Normal bir ifadeyi sarar.
Sözdizimi
template <class Elem, class RXtraits>
class basic_regex
Parametreler
Elem
Eşleşecek öğelerin türü.
RXtraits
Öğeler için nitelikler sınıfı.
Açıklamalar
Sınıf şablonu, normal ifadeyi tutan bir nesneyi açıklar. Bu sınıf şablonunun nesneleri regex_match, regex_search ve regex_replace şablon işlevlerine geçirilebilir. Ayrıca, normal ifadeyle eşleşen metni aramak için uygun metin dizesi bağımsız değişkenlerini geçirir. türündeki öğeler için regex ve türündeki charöğeler için wregex tür tanımları ile bu sınıf şablonunun wchar_tiki uzmanlığı vardır.
RXtraits şablon bağımsız değişkeni, sınıf şablonunun desteklediği normal ifadelerin söz diziminin çeşitli önemli özelliklerini açıklar. Bu normal ifade özelliklerini belirten bir sınıf, regex_traits Sınıfı türünde bir nesneyle aynı dış arabirime sahip olmalıdır.
Bazı işlevler, normal bir ifade tanımlayan bir bir işlenen dizisi alır. Böyle bir işleç sırasını birkaç şekilde belirtebilirsiniz:
ptr: sonlandırıcı öğenin değer value_type() olduğu ve işlenen dizisinin parçası olmadığı (null işaretçi olmaması gerekir) itibarıyla başlayan ptr null sonlandırılan bir dizi (örneğin, türü charElem için C dizesi)
ptr, count: öğesinden count başlayan ptr bir öğe dizisi (null işaretçi olmamalıdır)
str: nesnesi tarafından basic_string belirtilen sıra str
first, last: aralıktaki yineleyiciler first ve lastile sınırlandırılmış bir öğe dizisi [first, last)
rightbasic_regex: nesnesiright
Yukarıdaki üye işlevleri, RXtraits türü tarafından açıklanan seçeneklere ek olarak normal ifadenin yorumlanması için çeşitli seçenekleri belirten bir bağımsız değişken flags de alır.
Üyeler
| Üye | Varsayılan Değer |
|---|---|
| public static const flag_type icase | regex_constants::icase |
| ortak statik sabit flag_type aboneler | regex_constants::nosubs |
| genel statik sabit flag_type iyileştirme | regex_constants::optimize |
| ortak statik const flag_type harmanlama | regex_constants::collate |
| ecmascript flag_type genel statik sabit | regex_constants::ECMAScript |
| genel statik sabit flag_type temel | regex_constants::basic |
| genel statik sabit flag_type genişletilmiş | regex_constants::extended |
| genel statik sabit flag_type awk | regex_constants::awk |
| genel statik sabit flag_type grep | regex_constants::grep |
| genel statik const flag_type egrep | regex_constants::egrep |
| özel RXtraits özellikleri |
Oluşturucular
| Oluşturucu | Açıklama |
|---|---|
| basic_regex | Normal ifade nesnesini oluşturma. |
Tür tanımları
| Tür adı | Açıklama |
|---|---|
| flag_type | Söz dizimi seçeneği bayraklarının türü. |
| locale_type | Depolanan yerel ayar nesnesinin türü. |
| value_type | Öğe türü. |
Üye işlevleri
| Üye işlevi | Açıklama |
|---|---|
| atamak | Normal ifade nesnesine bir değer atar. |
| Bayrak | Söz dizimi seçenek bayraklarını döndürür. |
| getloc | Depolanan yerel ayar nesnesini döndürür. |
| imbue | Depolanan yerel ayar nesnesini değiştirir. |
| mark_count | Eşleşen alt ifade sayısını döndürür. |
| değiş tokuş etmek | İki normal ifade nesnesini değiştirir. |
İşleçler
| Operator | Açıklama |
|---|---|
| operator= | Normal ifade nesnesine bir değer atar. |
Gereksinimler
Üst bilgi:<regex>
Ad alanı: std
Örnek
// std__regex__basic_regex.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
using namespace std;
int main()
{
regex::value_type elem = 'x';
regex::flag_type flag = regex::grep;
elem = elem; // to quiet "unused" warnings
flag = flag;
// constructors
regex rx0;
cout << "match(\"abc\", \"\") == " << boolalpha
<< regex_match("abc", rx0) << endl;
regex rx1("abcd", regex::ECMAScript);
cout << "match(\"abc\", \"abcd\") == " << boolalpha
<< regex_match("abc", rx1) << endl;
regex rx2("abcd", 3);
cout << "match(\"abc\", \"abc\") == " << boolalpha
<< regex_match("abc", rx2) << endl;
regex rx3(rx2);
cout << "match(\"abc\", \"abc\") == " << boolalpha
<< regex_match("abc", rx3) << endl;
string str("abcd");
regex rx4(str);
cout << "match(string(\"abcd\"), \"abc\") == " << boolalpha
<< regex_match("abc", rx4) << endl;
regex rx5(str.begin(), str.end() - 1);
cout << "match(string(\"abc\"), \"abc\") == " << boolalpha
<< regex_match("abc", rx5) << endl;
cout << endl;
// assignments
rx0 = "abc";
rx0 = rx1;
rx0 = str;
rx0.assign("abcd", regex::ECMAScript);
rx0.assign("abcd", 3);
rx0.assign(rx1);
rx0.assign(str);
rx0.assign(str.begin(), str.end() - 1);
rx0.swap(rx1);
// mark_count
cout << "\"abc\" mark_count == "
<< regex("abc").mark_count() << endl;
cout << "\"(abc)\" mark_count == "
<< regex("(abc)").mark_count() << endl;
// locales
regex::locale_type loc = rx0.imbue(locale());
cout << "getloc == imbued == " << boolalpha
<< (loc == rx0.getloc()) << endl;
// initializer_list
regex rx6({ 'a', 'b', 'c' }, regex::ECMAScript);
cout << "match(\"abc\") == " << boolalpha
<< regex_match("abc", rx6);
cout << endl;
}
match("abc", "") == false
match("abc", "abcd") == false
match("abc", "abc") == true
match("abc", "abc") == true
match(string("abcd"), "abc") == false
match(string("abc"), "abc") == true
"abc" mark_count == 0
"(abc)" mark_count == 1
getloc == imbued == true
match("abc") == true
basic_regex::assign
Normal ifade nesnesine bir değer atar.
basic_regex& assign(
const basic_regex& right);
basic_regex& assign(
const Elem* ptr,
flag_type flags = ECMAScript);
basic_regex& assign(
const Elem* ptr,
size_type len,
flag_type flags = ECMAScript);
basic_regex& assign(
initializer_list<_Elem> IList,
flag_type flags = regex_constants::ECMAScript);
template <class STtraits, class STalloc>
basic_regex& assign(
const basic_string<Elem, STtraits, STalloc>& str,
flag_type flags = ECMAScript);
template <class InIt>
basic_regex& assign(
InIt first, InIt last,
flag_type flags = ECMAScript);
Parametreler
STtraits
Dize kaynağı için traits sınıfı.
STalloc
Dize kaynağı için ayırıcı sınıfı.
Init
Aralık kaynağı için giriş yineleyici türü.
Sağ
Kopyalanacak regex kaynağı.
ptr
Kopyalanacak sıranın başlangıcına işaret eden işaretçi.
Bayrak
Kopyalama sırasında eklenecek söz dizimi seçeneği bayrakları.
len/TD>
Kopyalanacak sıranın uzunluğu.
str
Kopyalanacak dize.
birinci
Kopyalanacak sıranın başlangıcı.
son
Kopyalanacak sıra sonu.
IList
Kopyalanacak initializer_list.
Açıklamalar
Üye işlevlerinin her biri tarafından *this tutulan normal ifadeyi işlenen dizisi tarafından açıklanan normal ifadeyle değiştirir ve döndürür *this.
basic_regex::basic_regex
Normal ifade nesnesini oluşturma.
basic_regex();
explicit basic_regex(
const Elem* ptr,
flag_type flags);
explicit basic_regex(
const Elem* ptr,
size_type len,
flag_type flags);
basic_regex(
const basic_regex& right);
basic_regex(
initializer_list<Type> IList,
flag_type flags);
template <class STtraits, class STalloc>
explicit basic_regex(
const basic_string<Elem, STtraits, STalloc>& str,
flag_type flags);
template <class InIt>
explicit basic_regex(
InIt first,
InIt last,
flag_type flags);
Parametreler
STtraits
Dize kaynağı için traits sınıfı.
STalloc
Dize kaynağı için ayırıcı sınıfı.
Init
Aralık kaynağı için giriş yineleyici türü.
Sağ
Kopyalanacak regex kaynağı.
ptr
Kopyalanacak sıranın başlangıcına işaret eden işaretçi.
Bayrak
Kopyalama sırasında eklenecek söz dizimi seçeneği bayrakları.
len/TD>
Kopyalanacak sıranın uzunluğu.
str
Kopyalanacak dize.
birinci
Kopyalanacak sıranın başlangıcı.
son
Kopyalanacak sıra sonu.
IList
Kopyalanacak initializer_list.
Açıklamalar
Tüm oluşturucular türündeki RXtraitsvarsayılan olarak inşa edilmiş bir nesneyi depolar.
İlk oluşturucu boş basic_regex bir nesne oluşturur. Diğer oluşturucular, işlenen dizisi tarafından açıklanan normal ifadeyi tutan bir basic_regex nesne oluşturur.
Boş basic_regex bir nesne regex_match, regex_search veya regex_replace geçirildiğinde herhangi bir karakter dizisiyle eşleşmiyor.
basic_regex::flag_type
Söz dizimi seçeneği bayraklarının türü.
typedef regex_constants::syntax_option_type flag_type;
Açıklamalar
Tür, regex_constants::syntax_option_type için bir eş anlamlıdır.
basic_regex::flags
Söz dizimi seçenek bayraklarını döndürür.
flag_type flags() const;
Açıklamalar
Üye işlevi, basic_regex::assign üye işlevlerinden birine yapılan en son çağrıya geçirilen bağımsız değişkenin değerini flag_type veya böyle bir çağrı yapılmadıysa oluşturucuya geçirilen değeri döndürür.
basic_regex::getloc
Depolanan yerel ayar nesnesini döndürür.
locale_type getloc() const;
Açıklamalar
Üye işlevi regex_traits::getloc() döndürürtraits..
basic_regex::imbue
Depolanan yerel ayar nesnesini değiştirir.
locale_type imbue(locale_type loc);
Parametreler
loc
Depolanabilir yerel ayar nesnesi.
Açıklamalar
Üye işlevi boşaltıp *this regex_traits::imbue(loc) döndürürtraits..
basic_regex::locale_type
Depolanan yerel ayar nesnesinin türü.
typedef typename RXtraits::locale_type locale_type;
Açıklamalar
Tür, regex_traits::locale_type için bir eş anlamlıdır.
basic_regex::mark_count
Eşleşen alt ifade sayısını döndürür.
unsigned mark_count() const;
Açıklamalar
Üye işlevi, normal ifadedeki yakalama gruplarının sayısını döndürür.
basic_regex::operator=
Normal ifade nesnesine bir değer atar.
basic_regex& operator=(const basic_regex& right);
basic_regex& operator=(const Elem *str);
template <class STtraits, class STalloc>
basic_regex& operator=(const basic_string<Elem, STtraits, STalloc>& str);
Parametreler
STtraits
Dize kaynağı için traits sınıfı.
STalloc
Dize kaynağı için ayırıcı sınıfı.
Sağ
Kopyalanacak regex kaynağı.
str
Kopyalanacak dize.
Açıklamalar
İşleçlerin her biri tarafından *this tutulan normal ifadeyi işlenen dizisi tarafından açıklanan normal ifadeyle değiştirir ve döndürür *this.
basic_regex::swap
İki normal ifade nesnesini değiştirir.
void swap(basic_regex& right) throw();
Parametreler
Sağ
Değiştirecek normal ifade nesnesi.
Açıklamalar
Üye işlevi normal ifadeleri ile sağ arasında *this değiştirir. Bunu sürekli olarak yapar ve hiçbir özel durum oluşturmaz.
basic_regex::value_type
Öğe türü.
typedef Elem value_type;
Açıklamalar
Tür, Elem şablon parametresinin eş anlamlısıdır.
Ayrıca bkz.
<regex>
regex_match
regex_search
regex_replace
regex
wregex
regex_traits Sınıfı