先来看几个例子,如果用一般的方法(非正则表达式方法)解决如下几个问题,难度会非常大。
需求1:“192.168.10.5[port=8080]”,这个字符串表示IP地址为192.168.10.5的服务器的8080端口是打开的,请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口是打开的”。
需求2:“192.168.10.5[port=21,type=ftp]”,这个字符串表示IP地址为192.168.10.5的服务器的21端口提供的是ftp服务,其中如果“,type=ftp”部分被省略,则默认为http服务。请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口提供的服务为***”
需求3:判断一个字符串是否是Email?必须含有@和.、不能以@或者.开始或者结束、@要在最后一个.之前。
需求4:从一个文本中提取出所有的Email:我有全部333M的照片,要的给我发email:me@wo.com。我也要you@you.com,123456@163.com,楼主好人:888888@qq.cn。