使用 C++ 正则表达式匹配字符串中的固定位置

问题描述 投票:0回答:1

C++ 正则表达式有办法引用字符串中的固定位置吗?我正在寻找在以下示例中(虚构地)显示为

@n
的符号,其中
n
是下一个字符的索引:

string = "hello12345";
re = "([a-z]+[0-9]+)(@7)(.+)";
// Match: ["hello12","345"]

更新:我不能只重复固定数量的字符,因为我不知道其中有多少会匹配

[a-z]
[0-9]

c++ regex
1个回答
0
投票

不要用正则表达式来完成这一切。使用

std::string::substr()
将输入拆分为两个子字符串,前 7 个字符和其余字符。然后检查第一个子字符串是否与正则表达式匹配
^[a-z]+\d+

© www.soinside.com 2019 - 2024. All rights reserved.