加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

RegexDemo-正则

发布时间:2020-12-14 01:58:41 所属栏目:百科 来源:网络整理
导读:* 1,正则表达式: 符合一定规则的表达式。 * 作用:用于专门操作字符串。 * 特点:用于一些特定的符号来表示一些代码操作,这样就简化书写。 * 学习表达式,就是学习一些特殊符号的使用。 * 好处:可以简化对符号的复杂操作。 * 弊端:符号定义越多,正则越

* 1,正则表达式: 符合一定规则的表达式。
* 作用:用于专门操作字符串。
* 特点:用于一些特定的符号来表示一些代码操作,这样就简化书写。
* 学习表达式,就是学习一些特殊符号的使用。
* 好处:可以简化对符号的复杂操作。
* 弊端:符号定义越多,正则越长,阅读性差。
*
* 具体操作:
* 1,匹配: string matches() 方法。
* 2,切割:String split();
* 3,替换:String replaceAll();
* 4,获取:将字符串中的符号规则的子串取出。
* 操作步骤:
* 1,将正则表达式封装成对象。
* 2,将正则对象和要操作的字符串相关联。
* 3,管理后获取匹配引擎。
* 4,通过引擎将符合规则的子串进行操作,比如取出。
*/
public class RegexDemo {
public static void main(String[] args) {
//check1();
//checkSplit();
//replaceAll();
//getDemo();
//repTest();
//splRepTest();
String str="我我....要要要...努力..学.......嘻嘻xxxxi嘻...";
str=str.replaceAll(".+","");
System.out.println(str);
}
public static void check1()
{
String qq="1237*45";
String regex="[1-9][0-9]{4,13}";
boolean flag=qq.matches(regex);
if(flag)
{
System.out.println(qq+"---ok");
}else {
System.out.println(qq+"...不合法");
}
//手机号验证
String tel="13123456789";
String regex1="1[3658]d{9}";
System.out.println(tel.matches(regex1));
// 邮件地址的校验:
String mail=" abcde23sf@sina.com";
//邮箱准确校验:
String reg="[a-zA-Z0-9_]+@[a-zA-Z0-9]+( .[a-zA-Z]+){1,3}";
//reg=" w+@w+(.w+)+"; 不准确的校验;
System.out.println(mail.matches(reg));
}
public static void checkSplit()
{
String str1="abc.def.ghi.jklm.n";
String regex1=".";
String[] strs=str1.split(regex1);
for( String s: strs)
{
System.out.println(s);
}
String str2="abcaabbdefjjjjhiggz";
//按照叠词完成切割,为了让规则的结果被重用,
//可以将规则封装成一个组,用()完成,组的出现都有编号。
//从1开始,使用已有的组可通过 n(n就是组的编号)来获取。
String regex2="(.)1+";
String[] strs2=str2.split(regex2);
for( String s: strs2)
{
System.out.println(s);
}
}
public static void replaceAll()
{
//将重叠的词换成$. 将重叠的字符换成单个字母
String str="abcaabbdefjjjjhiggz";
String regex="(.)1+";
String strs=str.replaceAll(regex,"&");
System.out.println(strs);
}
public static void getDemo()
{
String str="huo qu de cao zuo,dui xiang";
String regex=" b[a-z]{3,}b";

//将规则封装成对象。
Pattern p=Pattern.compile(regex);
//正则对象与要作用的字符串相关联, 获取匹配器对象。
Matcher m=p.matcher(str);
while(m.find())
{
System.out.println(m.group());
System.out.println(m.start()+"..."+m.end());
}
}
public static void repTest()
{
String str="我我....要要要...努力..学.......嘻嘻xxxxi嘻...";
str=str.replaceAll(".+","");
System.out.println(str);

str=str.replaceAll("(.)1+","$1");
System.out.println(str);
}
public static void splRepTest()
{
String ip=" 192.0.0.1 10.40.203.1 2.45.57.9 ";
ip=ip.replaceAll("( d+)","00$1");
System.out.println(ip);

ip=ip.replaceAll("0*( d{3})","$1");
System.out.println(ip);

String[] strs=ip.split(" ");
TreeSet<String> ts=new TreeSet<String>();
for(String s:strs)
{
ts.add(s);
}
for(String s:ts)
{
s=s.replaceAll("0*( d+)","$1");

System.out.println(s);
}
}
public static void getMail() throws Exception
{
URL url=new URL(" http://192.0.0.1:8080/myweb/mai.html");
URLConnection conn=url.openConnection();
BufferedReader bufIn=
new BufferedReader(new InputStreamReader(conn.getInputStream()));

String mailreg=" w+@w+(.w)+"; Pattern p=Pattern.compile(mailreg); String line=null; while((line=bufIn.readLine())!=null) { Matcher m=p.matcher(line); while(m.find()) { System.out.println(m.group()); } } } }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读