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



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

randomtext1', 'somethingelsehere', 'randomtext2', 'link-to-something', 'random-date', 'randomdate2', 'randomname'),

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

somethingelsehere, link-to-something, ...

所以我尝试使用 http://regexr.com/来获取适用于此的正则表达式代码,但我无法弄清楚。

的想法是,我可以简单地"标记"我想要的东西,说忽略第一、第二和第三'然后从第四'开始,直到第五',再次忽略第六到第十三。这应该给我randomtext2.

问题是,有时''之间什么都没有,但我也想得到它 ''应该包含在其中,这样我就会得到'randomtext2'而不是randomtext2

我试图理解正则表达式,但它确实非常复杂,对我来说很难理解,所以帮助将不胜感激:)

xF4m3

编辑1:示例行:第 1 行: 3D 炉, ", "斯潘瑟", "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 炉"(,第 2 行:4space', '不知道放什么在这里,但它有时就在那里', '4spaceTeam', '4space.mods.center/#download

', '2015-09-27 15:45:27', '2015-09-27 15:45:27', '4Space'(,

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

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

我曾经 regexr.com 以及我需要提取第三组和第四组 regex101.com"(.?(.?)(.?(.?)(.(.?(,(.?(,(.?(",这是我标记所有组的正则表达式代码,我不知道如何排除组 1-3 和 5-8。例子可以在 pastebin 上找到。

以下正则表达式应该可以解决问题:

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

使用粘贴链接中的确切数据查看 regex101.com 演示。

最新更新