-2

我想从字符串中检索数字,其字符从 8 OR 9 OR 6 开始,后跟 8 位数字。 

例如

sting string string  85689252 91585555 65987582  sting 12345678 string

输出应该是:

85689252 
91585555 
65987582
4

1 回答 1

4

你可能想要这个正则表达式:

\b[896]\d{7}\b

我假设这些数字至少由字母数字和之外的某个字符分隔_,所以我曾经\b匹配单词边界。

如果要放宽条件,正则表达式引擎必须支持前瞻后瞻:

(?<!\d)[896]\d{7}(?!\d)

在这种情况下,我只是确保整数前面或后面没有任何数字。

您的问题后跟 8 位数字,但似乎您的意思是整个数字应该有 8 位数字 - 所以我根据您的示例输入更改了答案。

用于Regex.Matches获取与正则表达式匹配的所有字符串。

于 2012-12-03T08:16:55.017 回答