正则表达式"AND"运算符?



我有一个字符串,如下所示:
源路径:\build\PM\11.0.25.9\11025_0_X.pts目标路径:

我想切断字符串"源路径:"one_answers"目标路径:",以便只获取源路径。
我想这样做就是做一个简单的Regex.Replace

然而,我不确定如何编写一个同时查找这两个字符串的模式。

有什么想法吗?谢谢

也许是不使用替换的东西:

string s = "Source Path: buildPM11.0.25.911025_0_X.pts Destination Path:";
Match m = Regex.Match(s, "^Source Path:s(.*?)sDestination Path:$");
string result = string.Empty;
if (m.Success)
{
    result = m.Groups[1].Value;
}

不需要Regex,只需执行Replace:即可

var path = "Source Path: buildPM11.0.25.911025_0_X.pts Destination Path:"
    .Replace("Source Path: ", "")
    .Replace(" Destination Path:", "");

如果字符串的格式始终相同,并且路径中没有空格,则可以将字符串拆分与SkipFirst IEnumerable扩展一起使用。

var input = @"Source Path: buildPM11.0.25.911025_0_X.pts Destination Path:";
var path = input.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                .Skip(2)
                .First();

最新更新