如何使用 RegEx 查找可变长度字符串

How to find a variable length string, using RegEx

我正在尝试使用批量重命名工具从迁移的文档中删除 ID。我正在与正则表达式作斗争。

这里是一些文件的例子。

KIN-CHV-SAL-MAP-001 (ID 594).pptx
KIN-CHV-P18005-REP-001 R1 (ID 04).pdf

我基本上需要正则表达式来查找“(ID”的任何实例,然后删除这些字符以及“)”之后的任何其他字符。所以文件看起来像这样:

KIN-CHV-SAL-MAP-001.pptx
KIN-CHV-P18005-REP-001 R1.pdf

括号之间的字符数量各不相同,有些文档没有 ID。 这是我打算使用 RegEx 的地方。

感谢您的帮助

您可以使用

MATCH:   ^(.*?)\s*\(ID \d+\)
REPLACE: 
Include Ext. must be UNCHECKED

图案详情

  • ^ - 字符串开头
  • (.*?) - 第 1 组:任意零个或多个字符,尽可能少
  • \s* - 一个或多个白色space 字符
  • \(ID \d+\) - ID, space, 1+ 位和 ).

替换为第1组的内容(从头到(ID <<digits>>)的字符串。

见截图: