C++ 正则表达式有办法引用字符串中的固定位置吗?我正在寻找在以下示例中(虚构地)显示为
@n
的符号,其中 n
是下一个字符的索引:
string = "hello12345";
re = "([a-z]+[0-9]+)(@7)(.+)";
// Match: ["hello12","345"]
更新:我不能只重复固定数量的字符,因为我不知道其中有多少会匹配
[a-z]
和[0-9]
。
不要用正则表达式来完成这一切。使用
std::string::substr()
将输入拆分为两个子字符串,前 7 个字符和其余字符。然后检查第一个子字符串是否与正则表达式匹配^[a-z]+\d+
。