abc空12.34aaa空bbb
其中abc为固定值
空代表若干个空格
12.34为小数(钱)
aaa为变化
bbb为固定值
多谢~~
------解决方案--------------------------------------------------------
^abc\s+\d+\.{0,1}\d+?\w\sbbb$
------解决方案--------------------------------------------------------
abc[ ]*[\d]+(\.[\d]+)?.*?bbb
------解决方案--------------------------------------------------------
abc[ ]*\d+\.\d+[a-zA-Z]*[ ]*[a-zA-Z]*
------解决方案--------------------------------------------------------
aaa 如果是特定的字符组成 最好把 .*? 改成贪婪模式
------解决方案--------------------------------------------------------
^abc\s+\d+(?=\.\d+)?\S+\s+bbb$
------解决方案--------------------------------------------------------
^abc\s+\d+(.\d+)?\S*\s+bbb$
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
- C# code
//验证用 Regex re = new Regex(@"^abc\s+\d+(\.\d+)[^\s]+\s+bbb$", RegexOptions.None); if (re.IsMatch("你要验证的字符串")) { //符合 } else { //不符合 }//提取用 string str = "abc 12.34aaa bbb"; Regex re = new Regex(@"abc\s+((\d+(\.\d+)?)([^\s]+))\s+bbb", RegexOptions.None); Match ma = re.Match(str); //ma.Groups[0].Value; 结果:abc 12.34aaa bbb//ma.Groups[1].Value; 结果:12.34aaa//ma.Groups[2].Value; 结果:12.34 //ma.Groups[4].Value; 结果:aaa
------解决方案--------------------------------------------------------