C# 如何使用正则表达式模式获取以下文本?

C# 如何使用正则表达式模式获取以下文本?,c#,regex,C#,Regex,我随身带着以下文字 File <a class='ub link' data-menu-identifier='files' data-url-identifier='/files/detail/n0tlz'>Medical bills & LTA.xlsx</a> was attached to the case by {updatedby} on {updatedon} 这里m有值:/files/detail/n0tlz'> 但我只是想要'n0tlz',我

我随身带着以下文字

File <a class='ub link' data-menu-identifier='files' data-url-identifier='/files/detail/n0tlz'>Medical bills & LTA.xlsx</a>  was attached to the case by {updatedby} on {updatedon}
这里m有值:/files/detail/n0tlz'>
但我只是想要'n0tlz',我觉得我离得太近了,最后一步就是需要获得代码值

如果
数据url标识符='/files/detail/n0tlz'>
始终包含一个'>。使你的现有
文件\/detail\/
进入
文件\/detail\/'>

现在,要捕获特定值,可以使用一个简单的捕获组
(.*)
,它将捕获零次和无限次之间的任何字符

将这两种方法结合起来将产生
文件\/detail\/(.*)>

编辑

但是我有:/files/detail/n0tlz'>我只想要'n0tlz',我能得到它吗

嗯,是的。或者更详细地说,你已经拥有它了

不要使用
var
尝试定义类型本身。在这种情况下,这将是一个错误。看看这些属性,你会发现它包含了比整个匹配更多的内容

组将包含您的值


为什么不使用HTML/XML解析器来获取属性值,而只使用
Split
来获取所需的值呢?必须使用regex吗?因为像
yourstring.Split(“/”).Last()
这样简单的东西可以为您解决这个问题,我需要在服务器端的这是db的列&我正在处理迁移任务..没错,但是我可以使用regex直接获得'n0tlz'吗?这是一个regex模式来获取值。可以直接使用我添加了一些说明,但似乎您自己已经找到了;)
 // Extract The filecode 
                    const string pattern = @"files\/detail\/(.*)'>";
                    // Instantiate the regular expression object.
                    var r = new Regex(pattern, RegexOptions.IgnoreCase);
                    // Match the regular expression pattern against a text string.
                    var m = r.Match(fileUpdate.UpdateText);
// Extract The filecode 
                    const string pattern = @"files\/detail\/(.*)'>";
                    // Instantiate the regular expression object.
                    var r = new Regex(pattern, RegexOptions.IgnoreCase);
                    // Match the regular expression pattern against a text string.
                    var m = r.Match(fileUpdate.UpdateText);
                    if (m.Success && m.Groups.Count == 2 )
                    {
                        m.Groups[1].Value; // This is the expected result 
                    }