日期:2014-05-17  浏览次数:20441 次

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

^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

------解决方案--------------------
探讨

private string _REG = @"(特价:\s*<span id=""priceCell"">¥\d*</span><em id=""isshowSpecialInfo""></em></div>\s*<div class=""detail_r1vip"">VIP价)";

string text = @"特价: <span id=""priceCell"">¥11.2……