C#中的正则表达式的意思-“\b([0-9]*[.][0-9]*).*?SCM”

来源:百度知道 编辑:UC知道 时间:2024/05/24 07:24:52
\b([0-9]*[.][0-9]*).*?SCM
1)后面的.*?是代表空格么?

被搜索的文本
030000 SCMH 429768.2 SCM
0.0021000 SCMH 429768.4 SCM
0.005000 SCMH 429768.6 SCM
0.003000 SCMH 429768.9 SCM
0.000000 SCMH 42976

2)结果出来太多,我只想要一个429768.9做为返回值
不知道哪位有办法?

比较急,在线等
3楼的兄弟,你可能误会我的意思了,我要的是活的数据,就是数据会变的,不一定是429768,也可能是3321532之类的

不知道LZ是不是只要数字

我来给你一步步解释这个正则

\b表示开头

[.]表示小数点

前后2个[0-9]*表示有N个数字也就是XXXX.XXXX(X表示0-9这10个数字)

然后是.*?这3个字符我们把它叫做懒惰匹配它的意思是:

匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复

我想楼主看完应该很清楚为什么你的搜索结果是这样的了,其余就不多解释了

\b([0-9]*[.][0-9]*).*429768\.9.*?SCM
这个来匹配前面包含 数字.数字,中间包含429768.9 ,后面包含SCM的值。
不知道是不是你想要的?

.代表任意字符 想要429768.9 在.前面加\ 表示转义

非贪婪模式,竟可能少的匹配。