黑马程序员之学习正则表达式

------- android培训java培训、期待与您交流! ----------

正则表达式:

是一门专门用于操作字符串的规则。
通过一些符号来标示,简化对字符串的复杂操作。
弊端:阅读性差。
常见的操作:
1,匹配:String mathces(regex)
2,获取:Pattern,Matcher
Pattern p = Pattern,compile(regex);
Matcher m = p.matcher(String);
while(m.find())
{
System.out.println(m.group());
}
3,切割:String split(regex);
4,替换:String replaceAll(regex,str);

示例:
String regex = "\\d{5,}";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(String);
while(m.find())
{
System.out.println(m.group());
}

网页爬虫:
通过网络以及IO读取网页的源文件,并通过规则获取网页中的符合规则的数据。
比如:mail爬虫
String mailreg = "[a-zA-Z0-9]{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";

正则表达式中组的含义:将部分进行封装一边重用。\\num 反向引用指定数组。
示例:IP地址排序
import java.util.TreeSet;
public class RegexDemo 
{
public static void main(String [] args)
{
              ipSort();
}
private static void ipSort()
{
 
  String ip  = "211.64.240.23   3.3.3.3  211.64.250.21 18.23.4.57  222.33.43.2";
  System.out.println("排序前:"+ip);
  
  String[]  ips = ip.split(" +");//根据一个或者多个空格切割成一个个ip地址
 
  TreeSet ipts = new TreeSet();
  
for (String ipstr : ips)
  {
ipts.add(ipstr); 
}
 
  
System.out.println("排序后:");
  for(String ipstr : ipts)

  {

  ipstr = ipstr.replaceAll("0*(\\d+)","$1"); //$1捕获组1的内容,也就是从左到右第一个括号内的内容
System.out.print(ipstr+"  ");
  }
  
}

}


------- android培训java培训、期待与您交流! ----------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值