Scanner几个问题与正则简介

Posted whtblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scanner几个问题与正则简介相关的知识,希望对你有一定的参考价值。

  Pre:最近做了头条的在线笔试,对Scanner输入的处理有些特殊,当时是一脸懵逼态,遂由此随笔(/@[email protected]\),java小白,有错难免!

  查了下Scanner的源码,没有头绪,但是其中用到了正则的知识,遂简单回顾下正则的使用:

Part1:正则使用简介                    

  1、正则表达式主要是针对字符串的一种规则(以字符串表示);主要功能有以下:

  • 匹配:注意是完全匹配, boolean matches(String regex)  (我之前总是一不小心就理解成包含contains)。
  • 切割:返回是字符串组,  String[] split(String regex)
  • 替换:多种替换方法如: String replace(char oldChar, char newChar)
  • 获取:需要Pattern类和Matcher类支持,
    • Pattern类:模式,字符串形式的正则首先被编译为此类的实例
      • static Pattern compile(String regex)//获取模式 
      • Matcher matcher(CharSequence input)//获取匹配器 
    • Matcher类:匹配器,解释Pattern并执行匹配操作。
      • boolean find()  //是否有下一个可匹配的子序列 
      • String group()   //返回匹配的子序列
      • int end()        //返回最后一个匹配位置的下一个位置

  2、java实例:

技术分享图片
public class Test {
    public static void main(String[] args) {
        String reg="abc";
        String str="abcdefabcdefababc";
        Pattern p=Pattern.compile(reg);
        Matcher m=p.matcher(str);
        while(m.find()){
            System.out.println(m.group()+"起始于:"+m.start()+",结束于:"+(m.end()-1));
        }
    }
}
abc起始于:0,结束于:2
abc起始于:6,结束于:8
abc起始于:14,结束于:16
View Code

 https://blog.csdn.net/FFFLLLLLL/article/details/51615204

https://blog.csdn.net/qq_24877569/article/details/52507391

  

以上是关于Scanner几个问题与正则简介的主要内容,如果未能解决你的问题,请参考以下文章

在片段中,如何停止 ZXing Scanner 的摄像头?

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

Java Scanner vs Matcher - 正则表达式,Matcher 有效,Scanner 无效

java.util.Scanner的使用

通过 Java 正则表达式提取 semver 版本字符串的片段

Scanner