初始字符串为 [image:salmon-v5-09-14-2011.jpg]
我想捕获文本“salmon-v5-09-14-2011.jpg”并使用GSkinner's RegEx Tool
我最接近我想要的输出是使用此RegEx:
:([\w+.-]+)
问题是此序列包含冒号,输出变为
:salmon-v5-09-14-2011.jpg
如何在没有冒号的情况下捕获所需的输出。谢谢你的帮助!
答案 0 :(得分:33)
使用后视:
(?<=:)[\w+.-]+
后视(编码为(?<=someregex)
)是零宽度匹配,因此它断言但不捕获匹配。
此外,您的正则表达式可以简化为:
(?<=:)[^\]]+
只是抓取(但不包括):
和]
答案 1 :(得分:5)
如果你总是以这种格式查看字符串,我会使用这种模式:
(?<=\[image:)[^\]]+
这看起来是[image:
,然后匹配到结束]
答案 2 :(得分:1)
您拥有正确的正则表达式,只有您正在使用的工具突出显示整个匹配而不仅仅是您的捕获组。将鼠标悬停在匹配项上,然后查看“组1”实际上是什么。
如果你想要一个更强大的正则表达式,你可以尝试:([^\]]+)
,这将允许]
以外的任何字符出现在文件名部分。