假设我有一个包含“ATGTTTGGATTAGGTAATGAAT”的字符串。
我想在字符串中搜索“TAG”、“TAA”或“TGA”的第一个实例。
为此,我想使用正则表达式。我认为 std::regex_search
会起作用,但我不确定如何编写语法。
任何帮助将不胜感激。
编辑:我需要检索“TAG”、“TAA”或“TGA”的第一个实例的位置(以先到者为准)。
最佳答案
你可以试试这个:
#include <iostream>
#include <regex>
int main() {
std::string s("ATGTTTGGATTAGGTAATGAAT");
std::regex r("TAG|TAA|TGA");
std::sregex_iterator first(s.begin(), s.end(), r);
std::cout << "position: " << first->position() << std::endl; // position: 10
return 0;
}
关于c++ - 使用正则表达式查找多个字符串的第一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19967933/