我跟随我的文字,
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}
我需要的是,我需要正则表达式,这将给予我&#39; n0tlz&#39;从给定的文本。请注意,这不是我需要从此模式中提取的静态内容。
我已达到某种程度但未获得如何获取所需文本;
我有:&#39; / files / detail / n0tlz&#39;其中&#39; / files / detail / {code}&#39;总是在那里,我只想要给定样本{code} = n0tlz
中{code}的值 // 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);
这里有m值:/ files / detail / n0tlz&#39;&gt; 但我只是想要&#39; n0tlz&#39;我觉得我太近了,只需要最后一步就是获取代码值。
答案 0 :(得分:1)
// 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
}
答案 1 :(得分:0)
如果data-url-identifier='/files/detail/n0tlz'>
始终包含&#39;&gt;你可以用它作为分隔符。让你现有的
files\/detail\/
进入files\/detail\/ '>
现在要捕获特定值,您可以使用简单的捕获组
(.*)
将捕获零和无限时间之间的任何字符。
将2合并为files\/detail\/(.*)'>
。
修改强>
但是我有:/ files / detail / n0tlz&#39;&gt;我只想要&#39; n0tlz&#39;我能得到它吗?
嗯,是的。或者更详细一点,你已经拥有它!
而不是使用var
尝试定义类型本身。在这种情况下,这将是Match。看一下这些属性,你会发现它包含的内容远远多于整个匹配。
群组将包含您的价值