精华内容
下载资源
问答
  • 目录 Matcher Pattern matcher ...find()是部分匹配,从当前位置开始匹配,找到一个匹配的子串,将移动下次匹配的位置Pattern matcher Pattern.matcher(CharSequence input) 返回一个Mat...

    目录

    Matcher

    Pattern

    matcher

    find

    group

    demo


    Matcher

    Matcher.matches()

    只有整个字符串都匹配了才返回true

     

    Matcher.find()

    对字符串进行匹配,匹配到的字符串可以在任何位置. 

    find()是部分匹配,从当前位置开始匹配,找到一个匹配的子串,将移动下次匹配的位置。

     

    Pattern

    matcher

    Pattern.matcher(CharSequence input)

    返回一个Matcher对象

    Pattern.matcher(String regex,CharSequence input)

    此方法是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.

     

    find

    boolean find()

    此方法对字符串进行匹配,匹配到的字符串可以在任何位置.

    boolean find(int start) 

    此方法重设Matcher对象,并且尝试在目标字符串里从指定的位置开始查找下一个匹配的子串。 

     

    group

    String group()

    返回当前查找而获得的与组匹配的所有子串内容。

     

    String group(int group)

    返回当前查找而获得的与指定的组匹配的子串内容。

     

    int groupCount() 

    返回当前查找所获得的匹配组的数量。

    demo

    public class Test01 {
        public static void main(String[] args) {
    
            String url = "nio4444.csdn.net" ;
           Pattern p = Pattern.compile("(.+?).csdn.net" );
           Matcher m = p.matcher(url) ;
           if(m.find()) {
               System.out.println(m.group(1));
               System.out.println(m.group());
           }
    
            if(m.matches()) {
                System.out.println(m.group(1));
                System.out.println(m.group());
            }
    
        }
    
    }

     

    展开全文
  • Java正则表达式使用

    2018-03-07 10:18:00
    find()方法:依次查找与Pattern匹配子串,一旦找到子串,下次再调用时接着向下查找 group():返回上一次与Pattern匹配字符串(一个字符串,可能会出现多个子串与Pattern匹配成功) end():返回上一次匹配上...

    Matcher类的一些方法

    find()方法:依次查找与Pattern匹配的子串,一旦找到子串,下次再调用时接着向下查找

    group():返回上一次与Pattern匹配的字符串(一个字符串,可能会出现多个子串与Pattern匹配成功)

    end():返回上一次匹配上的字符串结束的位置+1

    start():返回上一次匹配上的字符串开始的位置

    matcher():返回目标字符串与pattern是否匹配

    reset():将现有的Matcher应用于一个新的字符串序列

    import java.util.regex.*;
    
    public class PatternTest1{
        public static void main(String[] args)
        {
            //System.out.println("dfsddfgdfdsfsd撒打发斯蒂芬");
            String s1 = "java is very easy";
            Pattern p = Pattern.compile("\\w+");
            Matcher m = p.matcher(s1);
            while(m.find())
            {
                System.out.println(m.group()+"子串起始的位置:" + m.start()+"结束的位置:"+m.end());
            }
        }
    }

    运行结果:

    java子串起始的位置:0结束的位置:4
    is子串起始的位置:5结束的位置:7
    very子串起始的位置:8结束的位置:12
    easy子串起始的位置:13结束的位置:17
    请按任意键继续. . .

    源码--模拟判断几个邮件地址是否合法

     1 import java.util.regex.*;
     2 
     3 public class PtternTest2{
     4     public static void main(String[] args)
     5     {
     6         String[] mails = {
     7             "kongyeehu@163.com",
     8             "kongyeehua@gmail.com",
     9             "ligang@crazyit.org",
    10             "wawa.abc.**"
    11         };
    12         String mailRegEx = "\\w{3,20}@\\w+\\.(com|org|cn|net|gov)";
    13         Pattern p = Pattern.compile(mailRegEx);
    14         Matcher m = null;
    15         for(String mail:mails)
    16         {
    17             if(m == null)
    18             {
    19                 m = p.matcher(mail);
    20             }
    21             else
    22             {
    23                 m.reset(mail);
    24             }
    25             String result = mail + (m.matches()?"是":"不是") + "有效的邮件地址";
    26             System.out.println(result);
    27         }
    28         
    29     }
    30 }

    Matcher类还提供了:replaceAll(“+++”)把匹配到的字符串都替换掉

               replaceFirst(“  ”)只替换第一个匹配到的

    String 类也有类似的split() replaceAll() replaceFirst()

    转载于:https://www.cnblogs.com/xiaochenztx/p/8520499.html

    展开全文
  • Java Scanner skip()方法java.util.Scanner.skip(Pattern pattern)方法跳过...如果没有找到在当前位置匹配到指定模式,则没有输入被跳过,抛出NoSuchElementException。1 语法public Scanner skip(Pattern pattern...

    Java Scanner skip()方法

    java.util.Scanner.skip(Pattern pattern) 方法跳过输入相匹配的指定模式,在忽略分隔符。这个方法会跳过输入,如果锚定的指定模式匹配成功。如果没有找到在当前位置匹配到指定的模式,则没有输入被跳过,抛出NoSuchElementException。

    1 语法

    public Scanner skip(Pattern pattern)

    2 参数

    pattern:一个字符串,指定跳过的模式

    3 返回值

    此方法返回此scanner。

    4 示例

    package com.yiidian;

    /**

    * 一点教程网: http://www.yiidian.com

    */

    /**

    * java.util.Scanner.skip(Pattern pattern)方法的例子

    */

    import java.util.*;

    import java.util.regex.Pattern;

    public class Demo {

    public static void main(String[] args) {

    String s = "Hello World! 3 + 3.0 = 6.0 true ";

    // create a new scanner with the specified String Object

    Scanner scanner = new Scanner(s);

    // skip the word that matches the pattern ..llo

    scanner.skip(Pattern.compile("..llo"));

    // print a line of the scanner

    System.out.println("" + scanner.nextLine());

    // close the scanner

    scanner.close();

    }

    }

    输出结果为:

    World! 3 + 3.0 = 6.0 true

    展开全文
  • Java Scanner findLine()方法java.util.Scanner.findInLine(Pattern pattern)方法试图找到指定模式在忽略分隔符下一次出现。如果模式是下一行分隔符之前找到,则scanner执行匹配输入,并返回与该模式匹配...

    Java Scanner findLine()方法

    java.util.Scanner.findInLine(Pattern pattern) 方法试图找到指定的模式在忽略分隔符的下一次出现。如果模式是下一行分隔符之前找到,则scanner执行匹配的输入,并返回与该模式匹配的字符串。如果没有这样的模式在输入到下一行分隔符检测到,则返回null并且scanner的位置不变。此方法可能阻塞等待输入相匹配的模式。

    1 语法

    public String findInLine(Pattern pattern)

    2 参数

    pattern:要扫描的模式

    3 返回值

    此方法返回匹配指定模式的文本。

    4 示例

    package com.yiidian;

    /**

    * 一点教程网: http://www.yiidian.com

    */

    /**

    * java.util.Scanner.findInLine(Pattern pattern)方法的例子

    */

    import java.util.*;

    import java.util.regex.Pattern;

    public class Demo {

    public static void main(String[] args) {

    String s = "Hello World! 3 + 3.0 = 6";

    // create a new scanner with the specified String Object

    Scanner scanner = new Scanner(s);

    // find a pattern of any letter plus "ello"

    System.out.println("" + scanner.findInLine(Pattern.compile(".ello")));

    // print the next line of the string

    System.out.println("" + scanner.nextLine());

    // close the scanner

    scanner.close();

    }

    }

    输出结果为:

    Hello

    World! 3 + 3.0 = 6

    展开全文
  • import java.util.regex.*; public class SubString { /** * @param args */ public int intstr(String str1, String str2){ Pattern pattern = Pattern.compile(str2); Matcher matcher = pattern.matc
  • matches()只有在匹配完整字符串时才返回true。...此外,通过使用find()你可以打电话start()若要返回子字符串的位置,则匹配子字符串。finalMatchersubMatcher=Pattern.compile("\\d+").matcher(...
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    由于工作需要,本人经常要面对大量文字电子资料整理工作,因此曾对在 JAVA 中正则表达式应 用有所关注,并对其有一定了解,希望通过本文与同行进行有关方面心得交流。 正则表达式: 正则表达式是一...
  • import java.io.File; import java.util.ArrayList;...注: FileSearcher.java使用了未经检查或不安全操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 5 个错误 输出完成 (耗时 1 秒) - 正常终止
  • 结果找到bug总数50,这里的bug,只是按照FindBugs默认定义的pattern找到的结果,不一定是真正的bug,例如DSL中有6个是因为HistoryEventListener尚未完成,造成的误报,表格后面列出了详细的位置,请大家有时间核对...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。享元模式尝试重用现有同类...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。享元模式尝试重用现有同类对象...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。享元模式尝试重用现有同类对象...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。享元模式尝试重用现有同类对象...
  • java享元模式

    2019-03-29 10:22:57
    享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。 享元模式尝试重用现有同类...
  • Java的正则表达式包为java.util.regex,主要是使用其中的Pattern和Matcher. groupCount方法时候都可调用,而大多数方法都必须在匹配尝试成功之后才可调用. 主要方法有: boolean find() 返回boolean值表示是否...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。享元模式尝试重用现有同类对象...
  • 在字符串匹配问题中,我们需要找到匹配串pattern在原串text中的位置,一种显而易见的思路就是暴力匹配,如图所示,我们把pattern放置到text中的每个位置进行比较即可。 但是大家可以发现,这种方式的时间复杂度太高...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。 享元模式尝试重用现有同类...
  • Java-PHP-C#

    2012-11-27 15:13:36
    正如上面说,正则表达式看起来非常复杂,让人害怕,大多数PHP初学者都会跳过这里,继续下面学习,但是PHP中正则表达式有着可以利用模式匹配找到符合条件字符串、判断字符串是否合乎条件或者用指定字符...
  • 之后会通过这个标签找到相同的一个在标签里面对应的,从而找到这个,这个里面的内容就是所对应的java类(servlet)所在的位置了。 之后就是执行servlet里面的方法了,服务器能够根据你点击的是超链接而知道提交的...
  • 享元模式(Flyweight Pattern)主要用于减少创建对象数量,以减少内存占用和提高性能。这种类型设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需对象结构方式。 享元模式尝试重用现有同类...
  • 注:本电子版缺失了第19-21章部分,仅包含前824页(含536个实例),目前未找到完整版本。 注:本系列图书第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要童鞋可...
  • 注:本电子版缺失了第19-21章部分,仅包含前824页(含536个实例),目前未找到完整版本。 注:本系列图书第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要童鞋可...
  • 先要找到name="yy",然后它后面第一个之前加${yy}做能实现? [b]问题补充:[/b] 使用了正则表达式,但是怎么将所有文本域都追加上el表达式,而不是最后一个追加上 代码如下: [code="java"]while(it....
  • Knuth-Morris-Pratt KMP Algorithm基本思想KMP Failure Function原理...当不匹配发生时,为了避免冗余的比较,我们能滑动pattern的位置最多是多少? 假设问题是在一段Text(T)中找到Pattern(P)为abaaba的字符串,i
  • 模式匹配

    2017-08-25 09:10:32
    请设计一个高效算法,找到B在A中第一次出现起始位置。若B未在A中出现,则返回-1。 给定两个字符串A和B,及它们长度lena和lenb,请返回题目所求答案。测试样例: “acbc”,4,”bc”,2 返回:2import java....
  • 请设计一个高效算法,找到B在A中第一次出现起始位置。若B未在A中出现,则返回-1。 给定两个字符串A和B,及它们长度lena和lenb,请返回题目所求答案。 测试样例: “acbc”,4,“bc”,2 返回:2 代码 import ...
  • ip地址库 很全

    2020-02-08 13:39:16
    * 用来读取QQwry.dat文件,以根据ip获得好友位置,QQwry.dat格式是 一. 文件头,共8字节 1. 第一个起始IP绝对偏移, 4字节 2. * 最后一个起始IP绝对偏移, 4字节 二. "结束地址/国家/区域"记录区 四字节ip...

空空如也

空空如也

1 2 3
收藏数 45
精华内容 18
关键字:

java找到pattern的位置

java 订阅