【发布时间】:2017-06-18 08:14:39
【问题描述】:
我想从批处理脚本中的给定字符串中提取基于模式的子字符串。
例子:
Input : ABCDEF-x32-32.12.20-298-date-20-12-17.exe
Required Output : 32.12.20-298 (i.e. <number>.<number>.<number>-<number>)
Regex (may be) : [0-9]+\.[0-9]+\.[0-9]+-[0-9]+
如何在批处理脚本中实现这个???我尝试使用 'For' 和 'findstr' 来实现相同的功能,但没有这样做。
【问题讨论】:
-
您要查找的子字符串是否总是被连字符包围
-? -
它可能会也可能不会。
-
findstr搜索子字符串,但它返回每个包含匹配项的行;而且findstr不支持元字符+,所以[0-9]+必须写成[0-9][0-9]*。所以基本上,想要的字符串包含在非数字字符中? -
@aschipfl 你可能会这样认为。但是想要的字符串两边包含的非数字字符可能不一样。
标签: regex windows batch-file