如何使用 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>>)
的字符串。
见截图:
我正在尝试使用批量重命名工具从迁移的文档中删除 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>>)
的字符串。
见截图: