正则表达式初学总结

public class Go {


public static void main(String[] args) {
//1.初步认识正则

// p("abc".matches("...")); //匹配任意字符
// p("fs2342fsfs".replaceAll("\\d", "-")); //将数字替换为-   ;\d表示一位数字的正则,\\表示java里的一个\
//
// Pattern p = Pattern.compile("[a-z]{3}"); //匹配3个字母,a到z的范围
// Matcher m = p.matcher("fac");
// p(m.matches());

//2.初步认识  . * +
// p("aaaa".matches("a?")); //1或0次 false
// p("aaaa".matches("a*")); //0或多次 true
// p("aaaa".matches("a+")); //1或多次    这些可能性都包括了,闭区间 true
// p("".matches("a+"));
// p("323232".matches("\\d{3,10}")); //数字出现3到10次
// p("192.178.8.100".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")); //     \\.  表示一个.

//3.范围
// p("a".matches("[abc]")); //取a或b或c其中一个,即满足
// p("d".matches("[^abc]")); //除了a,除了b,除了c的补集都可以
//
// p("a".matches("[a-zA-Z]")); //a到z或A到Z ,写法1  ,只有1个字符
// p("a".matches("[a-z]|[A-Z]")); //a到z或A到Z ,写法2
// p("a".matches("[a-z[A-Z]]")); //a到z或A到Z ,写法3
// p("A".matches("[A-Z&&[RFG]]")); //取交集:A到Z,并且是RFG其中的1个

//4.认识  \s  \w  \d  \

/* p("\\".matches("\\\\"));  //  前面两个\\ ,标示要去匹配1个\;正则的规则是一个\,要匹配的是一个\,所以前面都要加一个\,总共4个\;
//例如\\d;将d变为\,要用2个标示,所以总共4个

// \w 单词字符:[a-zA-Z_0-9] 
// \W 非单词字符:[^\\w] 
p("a_8".matches("\\w{3}"));  //要求:是字符,而且正好是3个

// \d 数字:[0-9] 
// \D 非数字: [^0-9] 
p("3232".matches("\\d{4}"));//要求是数字,而且正好是4个
//
// \s 空白字符:[ \t\n\x0B\f\r]    空格,空字符串也是
// \S 非空白字符:[^\\s] 
p(" \t\n\r".matches("\\s{4}")); //要求是4个空白字符
p("fs".matches("[^\\s]{2}")); //要求:2个,且非空字符串

*/

//5.POSIX Style  兼容各种Unix版本的统一写法
// p("a".matches("\\p{Lower}")); //标示一个小写字母

//6.单词边界
// p("hello sir".matches("^h.*"));    //^写到[]里面表示取反,写到外面表示行的开头是以h字母开始
// p("hello sir".matches(".*r$")); //$标示行的结束时以r字母结束 -true
// p("hello sir".matches("^h[a-z]{3}o\\b.*")); //   \\b表示单词分隔符,如空格回车等特殊字符--true
// p("hellosir".matches("^h[a-z]{3}o\\b.*")); //false

//7.空白行统计(每行是空的,但里面也可能敲了很多空格噢,统计这样文本的空行)
// p(" \n".matches("^[\\s&&[^\\n]]*\\n$"));     //开头的是一空白符但不是换行符,中间出现了这个0次或多次,结束是一个换行符

//8.正则分组
//  Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
//          String s = "123aa-34345bb-234cc-00";
//          Matcher m = p.matcher(s);
//          while(m.find()) 
//          {
//               System.out.println("m.group():"+m.group()); //打印所有
//                
//               System.out.println("m.group(1):"+m.group(1)); //打印数字的
//                
//               System.out.println("m.group(2):"+m.group(2)); //打印字母的
//               System.out.println();
//               
//        }    
          //9.贪婪与非贪婪匹配
          // .* 贪婪匹配   <div>test1</div>bb<div>test2</div>
//          Pattern p = Pattern.compile("<div>.*</div>");
//          String s = "aa<div>test1</div>bb<div>test2</div>cc";
//          Matcher m = p.matcher(s);
//          while(m.find()){
//           System.out.println(m.group(0));
//          }
          
//非贪婪匹配
// <div>test1</div>
// <div>test2</div>


//          Pattern p = Pattern.compile("<div>.*?</div>");
//          String s = "aa<div>test1</div>bb<div>test2</div>cc";
//          Matcher m = p.matcher(s);
//          while(m.find()){
//           System.out.println(m.group(0));
//          }
}

public static void p(Object o){
System.out.println(o);
}
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、可私信6博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值