Regex 下划线和文件扩展名之间的正则表达式字符串提取

Regex 下划线和文件扩展名之间的正则表达式字符串提取,regex,Regex,我有一系列字符串,如下所示: abc_8g_1980_312.tif 我想从中提取字符串“312”,即第3个下划线和文件扩展名“.tif”字符串之间的所有内容 我正在尝试使用这个网站 插入此正则表达式:(\d{3})(\.tif$) 但我没有得到我想要的 如果您有任何建议,我们将不胜感激。假设您要捕获的内容始终是文件名中最后一个下划线分隔的术语,您可以使用: (?假设要捕获的内容始终是文件名中最后一个以下划线分隔的术语,则可以使用: (?要获取扩展名为.tif的下划线后的最后3位数字,您还可以在

我有一系列字符串,如下所示:

abc_8g_1980_312.tif

我想从中提取字符串“312”,即第3个下划线和文件扩展名“.tif”字符串之间的所有内容

我正在尝试使用这个网站 插入此正则表达式:
(\d{3})(\.tif$)

但我没有得到我想要的


如果您有任何建议,我们将不胜感激。

假设您要捕获的内容始终是文件名中最后一个下划线分隔的术语,您可以使用:


(?假设要捕获的内容始终是文件名中最后一个以下划线分隔的术语,则可以使用:


(?要获取扩展名为
.tif
的下划线后的最后3位数字,您还可以在字符串的左侧使用lookarounds断言
.
,在字符串的右侧使用
.tif

(?<=_)\d{3}(?=\.tif$)

(?要获取扩展名为
.tif
的下划线后的最后3位数字,您还可以在字符串的左侧使用lookarounds断言
.
,在字符串的右侧使用
.tif

(?<=_)\d{3}(?=\.tif$)

(?第三个下划线是否也始终是最后一个下划线?例如,您是否始终查找正好三位数字,或者这可能是下划线以外的任何类型的字符?您是否始终需要确保扩展名为“tif”?@JvdV是的,第三个下划线永远是最后一个,我一直在寻找最后三个下划线digits@sylar_80,是的。我想问题归结为是否需要进一步验证字符串?是否需要知道它有三个下划线?是否需要确保最后一个下划线后面只有三位数字?是否必须“tif”文件扩展名是什么?@JvdV它是一系列文件的命名约定。它应该在将来不会更改可能
\ud{3}\.tif$
适用于您,或者根据下面给出的答案使用查找框。第三个下划线是否始终是最后一个下划线?例如,您是否始终查找正好三位数字,或者这可能是下划线以外的任何类型的字符?您是否始终需要确保扩展名为“tif”?@JvdV是的,第三个下划线永远是最后一个,我一直在寻找最后三个下划线digits@sylar_80,是的。我想问题归结为是否需要进一步验证字符串?是否需要知道它有三个下划线?是否需要确保最后一个下划线后面只有三位数字?是否必须“tif”文件扩展名是什么?@JvdV它是一系列文件的命名约定。它应该在将来不会更改。tif$
可能适合您,或者根据下面给出的答案使用lookarounds。