我的应用程序中可能没有几个有效的字符串。这些有效的字符串可能包括:
"attached:yes blocked:yes" #No ()
"attached:yes blocked:(yes)" #Blocked has ()
"attached:(yes) blocked:yes" #Attached has ()
"attached:(yes) blocked:(yes)" #Both have ()
如果在以上任何一个字符串中找到blocked:(yes)
或blocked:yes
,我都希望得到匹配部分的开始和结束的索引。因此基本上忽略(
或)
示例
attached:yes blocked:yes
应该为blocked:yes
的子字符串(13, 24)
attached:yes blocked:(yes)
应该给blocked:(yes)
子字符串(13, 26)
答案 0 :(得分:0)
1st。找出可以使用什么库来利用正则表达式。
第二。下面是正则表达式的示例。|
我在正则表达式中要说的是获得第1组和第2组,其中值可以是'yes'或'(yes)'
已附加:([[(]?yes [)]?)已阻止:([(]?yes [)]?)
#include <regex>
using namespace std;
以下是一些有关C ++中正则表达式的链接:
让我知道这是否为您指明了正确的方向,否则我可以删除此答案。