求个正则,谢谢
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
------解决方案--------------------