从字符串中获取数字,其中也包括c#中的datetime



我有这个字符串:

Ümraniye Tapu Müdürlüğünde ve Ümraniye Belediyesi İmar Müdürlüğünde20.08.2014 onay tarih ve 254 sayılı mimari projesi incelenmiuretir .

我得到datetime:像这样:

t = DateTime.Parse(Regex.Match(mimaristring, @"d(d+)[-./](d+)[-./](d+)").Value);

我试着得到254这样:

num = Regex.Match(mimaristring, @"d+").Value;

但是我得到的不是254,而是20。我怎样才能跳过日期时间而得到254?

注意:有时,我有123/456这样的数字,而不仅仅是254,我也需要得到它们。

要获得不在点+数字内的整数,您需要使用遍历:

@"(?<!d.)bd+(?:/d+)?b(?!.d)"

查看这个正则表达式演示

模式解释:

  • (?<!d.) -如果当前位置前有digit + .,则不匹配
  • b - a字边界
  • d+(?:/d+)? - 1+位可选后跟/和1+位
  • b -尾字边界
  • (?!.d) -如果有一个点后跟一个数字,则匹配失败。
c#演示:

var s = "Ümraniye Tapu Müdürlüğünde ve Ümraniye Belediyesi İmar Müdürlüğünde 20.08.2014 onay tarih ve 254 sayılı mimari projesi incelenmiştir.";
var pat = @"(?<!d.)bd+(?:/d+)?b(?!.d)";
Console.WriteLine(Regex.Match(s, pat).Value);

相关内容

  • 没有找到相关文章

最新更新