c#中的RegEx,不带条件地获取值
本文关键字:条件 获取 中的 RegEx | 更新日期: 2023-09-27 18:14:29
我在RegEx上真的很糟糕,在下面的代码中,我只想要SH:
和, or end of line.
之间的实际数字,我怎么才能实现这一点?
[TestMethod]
public void Sandbox()
{
var regEx = new Regex(@"SH':(.*?)(',|'z)");
var matches = regEx.Matches("Some Text|SH:0000000000,SH:1111111111");
foreach (var match in matches)
{
Console.Out.WriteLine(match);
/* Getting this
SH:0000000000,
SH:1111111111
*/
/* Wanting this
0000000000
1111111111
*/
}
}
把for循环改成如下
foreach (Match match in matches)
{
Console.Out.WriteLine(match.Groups[1].Value);
}
也可以这样做:
var regEx = new Regex(@"SH':(?<abc>.*?)(',|'z)");
Console.Out.WriteLine(match.Groups["abc"].Value);
var regEx = new Regex(@"(?!SH:)'d+(?=',|'z)?");
只匹配数字