Google 正则表达式排除

Google Regex Exclusion

一直在研究这个问题,但没有成功。有一长串像这样的字符串:

颜色-12345_101.tif

红色-12345_101_av1.tif

OBJ-23456_456_av1.tif

RED_ESCAPADE.tif

SKYSCAPE_BLUE.tif

TWIST_OF_BLUE.tif

尝试使用 Google RegexExtract 删除文件扩展名和存在的“_av1”。

我试过使用表达式:“^[\w-][^_av1.]”,我理解为 ^ 在开头 [\w-] 单词字符组或任意长度的“-” [^av1.]减法组"av1."

问题是,如果最后一个字符是“1”,它会占用最后一个字符:

PROD-12345_101_av1.tif。变成 PROD-12345_10

我试过使用“?!”但是 Google 似乎对此很挣扎。我只是想拒绝一个文字字符串,目前只能管理一个组。

如有任何建议或帮助,我们将不胜感激。

您可以搜索

(?:_av1)?(?:\.[^.]+)$

查找一个可选的 _av1 后跟一个 . 然后一些非 . 字符直到字符串的末尾,然后替换它(使用 REGEXREPLACE) 为空字符串。

Demo on regex101