譬如:
Mono-and Diglycerides Citrated (472c) 匹配成功,获取472
Mono-and 1983 Citrated (472c) 匹配失败。
有这种可行性吗?
假如不行的话,就求 匹配连续3个或4个的连续数字。
Mono-and Diglycerides Citrated (472c) 匹配成功,获取472
Mono-and 1983 Citrated (472c) 匹配失败。
有这种可行性吗?
假如不行的话,就求 匹配连续3个或4个的连续数字。
解决方案
1
直接用正则不好处理,在程序里处理方便些
string str = "Mono-and 1983 Citrated (472c)"; Regex rg = new Regex(@"\d{3}|\d{4}"); var Res = rg.Matches(str); if(Res.Count>1) { //不匹配 }
5
只匹配3~4个连续数字
只匹配一次好像做不到,但你可从匹配结果的集合长度上做判断
只匹配一次好像做不到,但你可从匹配结果的集合长度上做判断
6
\d{3}|\d{4}
Mono-and 1983 Citrated (472c) 匹配出198 和472,能否让这种包含2处数字的不匹配?
直接用正则不好处理,在程序里处理方便些
string str = "Mono-and 1983 Citrated (472c)"; Regex rg = new Regex(@"\d{3}|\d{4}"); var Res = rg.Matches(str); if(Res.Count>1) { //不匹配 }这个思路很好,谢谢。麻烦再帮本人一下,取出第一个匹配值。
string 第一个匹配值=?
匹配到的数字中第一个吗?
8
不好意思,以前看错了
string str = "Mono-and 1983 Citrated (472c)"; Regex rg = new Regex(@"\d+"); var Res = rg.Matches(str); if (Res.Count > 0) { return Res[0].Value; } else { return "No Result"; }