Метод position
Метод position класса smatch возвращает
позицию начала совпадения в исходной строке. Метод
не принимает параметров и возвращает значение типа
size_t - индекс первого символа совпадения.
Если совпадение не найдено, поведение метода
не определено.
Синтаксис
smatch.match_results.position()
Пример
Давайте найдем позицию совпадения в строке
"abcde" с помощью регулярного выражения:
#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
regex re("bcd");
smatch matches;
if (regex_search(str, matches, re)) {
cout << matches.position() << endl;
}
return 0;
}
Результат выполнения кода:
1
Пример
Давайте найдем позицию совпадения в строке
"12345" с помощью регулярного выражения:
#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main()
{
string str = "12345";
regex re("34");
smatch matches;
if (regex_search(str, matches, re)) {
cout << matches.position() << endl;
}
return 0;
}
Результат выполнения кода:
2