正则表达式;

24 篇文章 0 订阅
18 篇文章 0 订阅
package regex;


/*
 * 正则表达式;
 * 用于操作字符串数据
 * 通过一些特定的符号来体现的.
 * 掌握正则表达式,需要学习一些符号.
 *
 * 简化,但阅读性差:
 *
 * 主要四个用法
 * 匹配:matches()方法
 * 切割:split()方法
 * 替换:replaceAll()方法
 * 获取/查找:java.util.regex类.Pattern接口和java.util.regex.Matcher类的
 *
 * 将正则规则进行对象的封装
 * Pattern p=Pattern.compile("a*b");
 * 匹配器
 * Matcher m=p.matcher("aaaab");
 * 匹配器的方法进行操作.
 * boolean b=m.matches();
 *
 * 
 */
public class Regex {


public static void main(String[] args) {
/*
* 需求:定义一个功能对QQ号进行校验 
* 要求:长度5-10,只能是数字.0不能开头
*/
String qq="12413414";
// checkQQ(qq);
String regex="[1-9][0-9]{4,14}";//正则表达式
boolean b=qq.matches(regex);
System.out.println(qq+":"+b);

}


public static void checkQQ(String qq) {


int len = qq.length();
if (len >= 5 && len <= 15) {
if (!qq.startsWith("0")) {
try {
long l = Long.parseLong(qq);
System.out.println("正确");
} catch (NumberFormatException e) {
System.out.println(qq + ":含有非法字符");
}
}


} else {
System.out.println(qq + "长度错误");
}


}
}
package regex;


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class RegexTest {


public static void main(String[] args) throws IOException {

List<String> list=testweb();
for (String string : list) {
System.out.println(string);
}
}


public static List<String> testweb() throws IOException {
//见面爬虫:其实就是一个程序用于在互联网中获取符合指定规则的数据。

//源

// BufferedReader bufr=new BufferedReader(new FileReader("c:\\mail.html"));
URL url=new URL("http://192.168.10.254:80/*");
BufferedReader bufin=new BufferedReader(new InputStreamReader(url.openStream()));

//规则
String regex="\\w+@\\w+(\\.\\w)+";

List<String> list=new ArrayList<String>();

//匹配器
Pattern p=Pattern.compile(regex);

String line=null;
while((line=bufin.readLine())!=null){
Matcher m=p.matcher(line);
while(m.find()){
list.add(m.group());
}
}
return list;

}


public static void testmail() {
String mail="wwwsaa@sina.com.cn";
String regex="[a-zA-Z0-9_]+@[a-zA-Z0-9]+([a-zA-Z]{1,3})+";

boolean b=mail.matches(regex);
System.out.println(mail+":"+b);
}


public static void testip() {

String ip="120.7.8.5 127.1.2.2 10.1.2.3";
//补0
ip=ip.replaceAll("(\\d+)", "00$1");
//保留3位
ip=ip.replaceAll("0*(\\d{3})","$1");


//切割
String[] ips=ip.split(" +");

//对象排序
TreeSet<String> ts=new TreeSet<String>();
for(String inip:ips){
ts.add(inip);
}
//打印
for(String ipout:ts){
System.out.println(ipout.replaceAll("0*(\\d+)", "$1"));
}
}


public static void test1() {

String str="我我....我我...学学学....学学学...习习习...习习..编编..编编编编...编编..程程..程程程程..程程";

str=str.replaceAll("\\.+","");
str=str.replaceAll("(.)\\1+", "$1");
System.out.println(str);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wscwsc58888

只为正式环境创作

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值