如果格式固定,用拆分函数 split('-'),取下标2的数组,就可以。
格式不固定,只是中间有一段日期而已
@阿龍:
string str = "ms-opra126-13122018-2100.txt"; Regex r = new Regex("-[0-9]{8}-", RegexOptions.IgnoreCase); Match m = r.Match(str); string reslut = m.Value.Substring(1,8);
@geass..:
下面的代码示例使用 Match.Result 来从 URL 提取协议和端口号。例如,“http://www.contoso.com:8080/letters/readme.html”将返回“http:8080”。
示例
@阿龍: 不清楚
@geass..:
string str = "ms-opra126-13122018-2100.txt"; //Regex r = new Regex("-[0-9]{8}-", RegexOptions.IgnoreCase); Regex r = new Regex(@"-(?<date>[0-9]{8})-", RegexOptions.IgnoreCase); string reslut = r.Match(str).Result("${date}");
@阿龍: 这个比较稳妥。
string str = "ms-opra126-13122018-2100.txt"; Regex r = new Regex(@"-(?<date>[0-9]{8})-[\s\S]+.txt", RegexOptions.IgnoreCase| RegexOptions.Compiled); string reslut = r.Match(str).Result("${date}");
@geass..: 很好。谢谢。 不懂正则。