获取第四个和第五个符号之间的正则表达式,即使它是空的

时间:2016-02-14 12:36:57

标签: regex

我得到了这些行的完整列表:

for (unsigned int i = 0; i < 128; ++i)
{
    if (std::isdigit(i)) 
    {
        std::cout << i << " is a digit";
    }
}

我希望能够提取其中一个。

108

所以我尝试使用http://regexr.com/来获取适用于此的regexcode,但我无法理解。

我的想法是,我可以简单地“标记”我想要的东西,然后忽略第一个,第二个和第三个randomtext1', 'somethingelsehere', 'randomtext2', 'link-to-something', 'random-date', 'randomdate2', 'randomname'), 然后从第四个somethingelsehere, link-to-something, ... 开始直到第五个'并且再次忽略第六到第十三。这应该给我'

问题是,有时'之间没有任何内容,但我想知道randomtext2应该包括在内,以便我得到'' ''

我试图理解正则表达式,但它真的非常复杂,很难理解,所以帮助真的很感激:)

xF4m3

Edit1:示例行: 第1行:3d-furnaces','','spAnser','minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288346-3d-furnace-v1-4','2015-09-27 13 :41:50','2015-09-27 13:41:50','3D Furnaces'), 第2行:4空间','不知道该放什么,但它有时候会','4spaceTeam','4space.mods.center/#download','2015-09-27 15:45:27',' 2015-09-27 15:45:27','4Space'),

我想从第一行和'4spaceTeam'和'mods中提取'spAnser'和'minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288346-3d-furnace-v1-4'。中心/#下载'从第二行。

有关更好的列表,请参阅http://pastebin.com/7tGJB7kh

我使用regexr.com以及regex101.com我需要提取第3组和第4组 “(。?)(。?)(。?)(。?)(。?)(。?),(。< em>?),(。?),“这是我标记所有组的正则代码,我不知道如何排除1-3组和5-8组。例子可以在pastebin上找到。

1 个答案:

答案 0 :(得分:0)

以下正则表达式可以解决这个问题:

(?m)^.*?' *, *'.*?' *, *('.*?') *, *('.*?')

使用regex101.com demo中的完全数据查看pastebin link