正则表达式匹配数字,前面没有字母

use*_*138 3 c# regex

我希望匹配"100","1.1","5.404"之类的数字,如果它们不包含前面的字母,如下所示:"V102".

这是我目前的正则表达式:

(?<![A-Za-z])[0-9.]+
Run Code Online (Sandbox Code Playgroud)

这应该匹配任何字符0-9.如果不存在前缀(A-Za-z),则重复一次或多次.

但它的作用是匹配V102,如02,所以它只是将V和另外一个字母切掉,然后其余部分适合,而实际上根本不应该匹配那个案例.我怎样才能抓住所有数字,然后检查前缀是否不存在?

mel*_*okb 7

在负面的lookbehind中添加数字和小数点:

(?<![A-Za-z0-9.])[0-9.]+
Run Code Online (Sandbox Code Playgroud)

这将强制所有匹配以非数字和非字母(即空格或其他分隔符)开头.这样,数字的结尾也不是有效的匹配.

演示:http://www.rubular.com/r/EDuI2D9jnW