Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kelas iterator untuk kecocokan.
Sintaks
template<class BidIt,
class Elem = typename std::iterator_traits<BidIt>::value_type,
class RxTraits = regex_traits<Elem> >
class regex_iterator
Parameter
BidIt
Jenis iterator untuk submatche.
Elem
Jenis elemen yang cocok.
RXtraits
Kelas sifat untuk elemen.
Keterangan
Templat kelas menjelaskan objek iterator penerusan konstan. Ini mengekstrak objek jenis match_results<BidIt> dengan berulang kali menerapkan objek *pregex ekspresi regulernya ke urutan karakter yang ditentukan oleh rentang [begin, end)iterator .
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
| regex_iterator | Membangun iterator. |
Typedefs
| Nama jenis | Deskripsi |
|---|---|
| difference_type | Jenis perbedaan iterator. |
| iterator_category | Jenis kategori iterator. |
| Pointer | Jenis penunjuk ke kecocokan. |
| referensi | Jenis referensi ke kecocokan. |
| regex_type | Jenis ekspresi reguler yang cocok. |
| value_type | Jenis kecocokan. |
Operator
| Operator | Deskripsi |
|---|---|
| operator!= | Membandingkan iterator untuk ketidaksamaan. |
| Operator* | Mengakses kecocokan yang ditunjuk. |
| operator++ | Menaikkan iterator. |
| operator= | Membandingkan iterator untuk kesetaraan. |
| Operator-> | Mengakses kecocokan yang ditunjuk. |
Persyaratan
Header:<regex>
Namespace: std
Contoh
Lihat artikel berikut ini untuk contoh tentang ekspresi reguler:
// std__regex__regex_iterator.cpp
// compile with: /EHsc
#include <regex>
#include <iostream>
typedef std::regex_iterator<const char *> Myiter;
int main()
{
const char *pat = "axayaz";
Myiter::regex_type rx("a");
Myiter next(pat, pat + strlen(pat), rx);
Myiter end;
for (; next != end; ++next)
std::cout << "match == " << next->str() << std::endl;
// other members
Myiter it1(pat, pat + strlen(pat), rx);
Myiter it2(it1);
next = it1;
Myiter::iterator_category cat = std::forward_iterator_tag();
Myiter::difference_type dif = -3;
Myiter::value_type mr = *it1;
Myiter::reference ref = mr;
Myiter::pointer ptr = &ref;
dif = dif; // to quiet "unused" warnings
ptr = ptr;
return (0);
}
match == a
match == a
match == a
regex_iterator::d ifference_type
Jenis perbedaan iterator.
typedef std::ptrdiff_t difference_type;
Keterangan
Jenisnya adalah sinonim untuk std::ptrdiff_t.
regex_iterator::iterator_category
Jenis kategori iterator.
typedef std::forward_iterator_tag iterator_category;
Keterangan
Jenisnya adalah sinonim untuk std::forward_iterator_tag.
regex_iterator::operator!=
Membandingkan iterator untuk ketidaksamaan.
bool operator!=(const regex_iterator& right);
Parameter
right
Iterator untuk dibandingkan.
Keterangan
Fungsi anggota mengembalikan !(*this == right).
regex_iterator::operator*
Mengakses kecocokan yang ditunjuk.
const match_results<BidIt>& operator*();
Keterangan
Fungsi anggota mengembalikan nilai matchtersimpan .
regex_iterator::operator++
Menaikkan iterator.
regex_iterator& operator++();
regex_iterator& operator++(int);
Keterangan
Jika kecocokan saat ini tidak memiliki karakter, operator pertama memanggil regex_search(begin, end, match, *pregex, flags | regex_constants::match_prev_avail | regex_constants::match_not_null); jika tidak, maka akan memajukan nilai begin tersimpan untuk mengarahkan ke karakter pertama setelah kecocokan saat ini, maka memanggil regex_search(begin, end, match, *pregex, flags | regex_constants::match_prev_avail). Dalam kedua kasus, jika pencarian gagal operator mengatur objek ke iterator akhir urutan. Operator mengembalikan objek.
Operator kedua membuat salinan objek, menaikkan objek, lalu mengembalikan salinan.
regex_iterator::operator=
Membandingkan iterator untuk kesetaraan.
bool operator==(const regex_iterator& right);
Parameter
right
Iterator untuk dibandingkan.
Keterangan
Fungsi anggota mengembalikan true jika dan kanan adalah iterator akhir urutan atau jika keduanya tidak merupakan iterator akhir urutan dan begin == right.begin, end == right.end, pregex == right.pregex, dan flags == right.flags. *this Jika tidak, ia mengembalikan false.
regex_iterator::operator->
Mengakses kecocokan yang ditunjuk.
const match_results<BidIt> * operator->();
Keterangan
Fungsi anggota mengembalikan alamat nilai matchtersimpan .
regex_iterator::p ointer
Jenis penunjuk ke kecocokan.
typedef match_results<BidIt> *pointer;
Keterangan
Jenisnya adalah sinonim untuk match_results<BidIt>*, di mana BidIt adalah parameter templat.
regex_iterator::reference
Jenis referensi ke kecocokan.
typedef match_results<BidIt>& reference;
Keterangan
Jenisnya adalah sinonim untuk match_results<BidIt>&, di mana BidIt adalah parameter templat.
regex_iterator::regex_iterator
Membangun iterator.
regex_iterator();
regex_iterator(BidIt first,
BidIt last,
const regex_type& re,
regex_constants::match_flag_type f = regex_constants::match_default);
Parameter
first
Awal urutan yang cocok.
last
Akhir urutan untuk dicocokkan.
kembali
Ekspresi reguler untuk kecocokan.
f
Bendera untuk kecocokan.
Keterangan
Konstruktor pertama membangun iterator akhir urutan. Konstruktor kedua menginisialisasi nilai tersimpan dengan yang pertama, nilai end tersimpan dengan nilai terakhir, nilai pregex tersimpan dengan &re, dan nilai flags tersimpan dengan f.begin Kemudian memanggil regex_search(begin, end, match, *pregex, flags). Jika pencarian gagal, konstruktor mengatur objek ke iterator akhir urutan.
regex_iterator::regex_type
Jenis ekspresi reguler yang cocok.
typedef basic_regex<Elem, RXtraits> regex_type;
Keterangan
Typedef adalah sinonim untuk basic_regex<Elem, RXtraits>.
regex_iterator::value_type
Jenis kecocokan.
typedef match_results<BidIt> value_type;
Keterangan
Jenisnya adalah sinonim untuk match_results<BidIt>, di mana BidIt adalah parameter templat.
Lihat juga
<regex>
Kelas regex_constants
Kelas regex_error
<fungsi regex>
Kelas regex_iterator
<operator regex>
Kelas regex_token_iterator
Kelas regex_traits
<typedef regex>