首页 > 代码库 > 正则表达式练习
正则表达式练习
import java.util.Arrays;public class RegexTest2 { public static void main(String[] args) {// test_1(); // test_2(); checkMail(); } /* * 练习1:治口吃 * "我我我...我我..我要....要..要要....要要..学学学...学编..编编编....编编程程...程程" * 还原成:我要学编程 */ public static void test_1(){ String temp = "我我我...我我..我要....要..要要....要要..学学学...学编..编编编....编编程程...程程"; //1.明确要使用替换 replaceAll(regex,String); //2.将点干掉 temp = temp.replaceAll("\\.+","" ); //3.将叠词干掉 temp = temp.replaceAll("(.)\\1+", "$1"); System.out.println(temp); } /* * 练习2:对ip地址进行排序 * 192.168.1.200 10.10.10.10 3.3.50.3 127.0.0.1 */ public static void test_2(){ String temp = "192.168.1.200 17.10.10.10 3.3.50.3 127.0.0.1"; //排序出现问题了,是按照字典顺序排的序。 //问题在哪呢?是因为每一个地址段的位数不对。 //如果位数都是三位就可以了,只有补0了。 //每一段的位数都不同呢,咋补? //干脆按照最大所需0的个数补齐,每一段都补两个0 //补两个0 temp = temp.replaceAll("(\\d+)", "00$1");// System.out.println(temp); //保留每段最后3位 temp = temp.replaceAll("0*(\\d{3})","$1");// System.out.println(temp); String[] ips = temp.split(" +"); Arrays.sort(ips); for(String ip:ips){// System.out.println(ip); System.out.println(ip.replaceAll("0*(\\d+)","$1")); } } /* *练习3:校验邮件地址 */ public static void checkMail(){ String mail = "abc12@sina.com.cn"; String regex = "\\w+@[a-zA-Z0-9-]+(\\.[a-zA-Z]{2,3}){1,3}"; regex = "\\w+@\\w+(\\.\\w+)+";//1@1.1 比较笼统 boolean b = mail.matches(regex); System.out.println(mail+":"+b); } }
正则表达式练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。