java语言编程使用正则表达式来实现提取(美团 3-5年经验 15-30k 北京 hadoop高级工程)中的3-5和15-30...

如有这样的一条数据进来:   美团 3-5年经验 15-30k 北京 hadoop高级工程

复制代码
//正则表达式提取工资值,因为15-30k后面有k,3-5年经验,不干净
  public static int filterSalary(String salary)//过滤数据
  {
     String sal = Pattern.compile("[^0-9]").matcher(salary).replaceAll("");
    return Integer.parseInt(sal);
   }
复制代码

 

 

 

 

 


Pattern.compile("[^0-9]").matcher(salary)
Pattern.compile("[^0-9]").matcher(salary).replaceAll("")

//必须十一位数,包括数字和字母,且以字母开头
Pattern pattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9]{10}$");//将给定的正则表达式编译到模式中

//判读存款金额是否合法(单次存款金额不超过10000元(包括),且必须是100的整数倍)
Pattern pattern = Pattern.compile("^[1-9][0-9]{0,1}00$|^10000$");

//判断取款金额是否合法(单次取款金额不超过3000(包括)元,且必须是100的整数倍.)
Pattern pattern = Pattern.compile("^[1-3][0-9]{0,1}00$");

 

 

 

  更多更好的正则教程,见正则菜鸟教程。

http://www.runoob.com/regexp/regexp-rule.html

 

 

 

 

 


replace和replaceAll的区别 : 
replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); 
replaceAll的参数是regex,即基于规则表达式的替换。比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号;



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7646059.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值