解析字符串并确保它包含一个9位数字

And*_*rew 0 c# regex string

我有一个字符串

//webcache.googleusercontent.com/search?hl=en&lr=&rlz=1G1GGLQ_IWIL297&q=cache:UadRLVLrpCQJ:http://www.buy.com/prod/pny-geforce-9800-gx2-1gb-512-bit-ddr3-600mhz-pci-e-2-0-dual-dvi-hdmi/207534756.html%2BVCG98GX2XPB%2Bsite%253Abuy.com&ct=clnk
Run Code Online (Sandbox Code Playgroud)

如何检查它是否包含9位数序列?在这个例子中,它有207534756

我试过这个:

String resultString = Regex.Match(i.ToString(), @"\d+").Value;
if (resultString.Length == 9){}
Run Code Online (Sandbox Code Playgroud)

但它不起作用

Hri*_*iev 5

试试吧@"[0-9]{9}".它将连续匹配9位数.

编辑:更正确的是确保周围没有其他数字: @"(^|[^0-9])[0-9]{9}([^0-9]|$)"

  • +1:这是迄今为止排除Unicode数字的唯一答案.在.NET中,当你只想要数字0-9时,你应该总是使用`[0-9]`而不是`\ d`. (2认同)