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