我正在尝试提取两个字符之间的字符串。第一个字符多次出现,我需要第一个字符的最后一次出现。我已经检查过类似的问题,但在第一个字符多次出现的情况下,所有建议的正则表达式都不起作用。
例子:
TEST-[1111]-20190603-25_TEST17083
我的代码:
string input = "TEST-[1111]-20190603-25_TEST17083";
var matches = Regex.Matches(input,@"(?<=-)(.+?)(?=_)");
var match = matches.OfType<Match>().FirstOrDefault();
var value = match.Groups[0].Value;
当前结果:
[1111]-20190603-25
预期结果:
25
最佳答案
让我们尝试一些不同的模式:
(?<=-)([^-_]+?)(?=_)
我们使用 [^-_]
而不是 。
:所有字符 except -
和 _
关于C# 正则表达式提取两个字符之间的字符串,但第一个字符多次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56425237/