ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของฟังก์ชัน match_results::size() ใน C++ STL
match_results ใน C++ STL คืออะไร
std::match_results เป็นคลาสที่มีลักษณะเหมือนคอนเทนเนอร์พิเศษ ซึ่งใช้เพื่อเก็บคอลเลกชันของลำดับอักขระที่ตรงกัน ในคลาสคอนเทนเนอร์นี้ การดำเนินการจับคู่ regex จะค้นหารายการที่ตรงกันของลำดับเป้าหมาย
match_results::size() คืออะไร
ฟังก์ชัน match_results::size() เป็นฟังก์ชัน inbuilt ใน C++ STL ซึ่งกำหนดไว้ในไฟล์ส่วนหัว
ไวยากรณ์
smatch_name.size();
พารามิเตอร์
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
คืนค่า
ฟังก์ชันนี้ส่งคืนขนาด size_type หรือจำนวนการจับคู่และการจับคู่ย่อยของออบเจกต์ match_results
ตัวอย่าง
Input: string str = "Tutorials Point"; regex R("(Tutorials)(.*)"); smatch Mat; regex_match(str, Mat, R); Mat.size(); Output: 3
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { string str = "Tutorials Point"; regex R("(Tutorials)(.*)"); smatch Mat; regex_match(str, Mat, R); cout<<"Size is: " << Mat.size() << endl; return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
Size is: 3
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; int main() { string str = "Tutorials Point Tutorials"; regex R("(Tutorials)(.*)"); smatch Mat; regex_match(str, Mat, R); for (int i = 0; i < Mat.size(); i++) { cout <<"length of "<<Mat.length(i)<< endl; } return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
length of 25 length of 9 length of 16