.net 正则表达式,用于在字符后提取文件名,不带扩展名

.net 正则表达式,用于在字符后提取文件名,不带扩展名,.net,regex,.net,Regex,我正在寻找有关如何创建正则表达式的帮助,该正则表达式从如下所示的字符串中提取子字符串: test123#AMMA TestFileName文件的s.xml 到 AMMA TEstFileName文件的 基本上,删除第一个“#”及其前面的所有内容。此外,删除“.xml”文件扩展名 非常感谢您的帮助,因为我刚刚开始使用regex。这将用于支持.NET正则表达式API的Nintex工作流操作。您要查找的字符串将位于第一组中 /#(.+?)\.xml$/ 在C中# 字符串提取文件名(字符串s) { r

我正在寻找有关如何创建正则表达式的帮助,该正则表达式从如下所示的字符串中提取子字符串:

test123#AMMA TestFileName文件的s.xml

AMMA TEstFileName文件的

基本上,删除第一个“#”及其前面的所有内容。此外,删除“.xml”文件扩展名


非常感谢您的帮助,因为我刚刚开始使用regex。这将用于支持.NET正则表达式API的Nintex工作流操作。

您要查找的字符串将位于第一组中

/#(.+?)\.xml$/
在C中#

字符串提取文件名(字符串s)
{
regexr=newregex(@“#(?。+?)\.xml$”,RegexOptions.Compiled);
返回r.Match.Result(“${filename}”);
}

编辑:删除了对#的转义,添加了扩展名的行尾限定符,并添加了C#示例

您要查找的字符串将在第一组中

/#(.+?)\.xml$/
在C中#

字符串提取文件名(字符串s)
{
regexr=newregex(@“#(?。+?)\.xml$”,RegexOptions.Compiled);
返回r.Match.Result(“${filename}”);
}

编辑:删除了对#的转义,添加了用于扩展的行尾限定符,并添加了C#示例

在字符串末尾锚定模式:

/#(.+)\.xml$/

将图案锚定在字符串的末尾:

/#(.+)\.xml$/

如果您想处理xml以外的扩展

/#(.+)\..*$/

如果您想处理xml以外的扩展

/#(.+)\..*$/

编辑:显然这不是正则表达式,但它比正则表达式更快,所以我把它包括进去了

Path.GetFileNameWithoutExtension(s.Substring(s.IndexOf('#') + 1));

编辑:显然这不是正则表达式,但它比正则表达式更快,所以我把它包括进去了

Path.GetFileNameWithoutExtension(s.Substring(s.IndexOf('#') + 1));

应该是\.[^\.]+$so文件..ext只切断最后一个。ext应该是\.[^\.]+$so文件..ext只切断最后一个。ext非常感谢大家的快速响应。Nintex不允许我直接在工作流操作中编写代码来获取组1,因此我使用上面的示例创建了一个web服务来调用和执行该工作。所有人的快速响应,非常感谢。Nintex不允许我直接在工作流操作中编写代码来获取组1,因此我使用上面的示例创建了一个web服务来调用和执行该工作。