欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java的正则表达式

程序员文章站 2024-02-10 09:28:52
...

Pattern 类:

pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

Pattern pattern=Pattern.compile("topicId=[0-9]+");

Pattern.compile函数

来实现对指定字符串的截取。有两个参数第一个:regex 表示定义的规则
第二个:flag 表示设置的参数类型,第二个参数可以为空

// Pattern.compile函数语法
Pattern Pattern.compile(String regex, int flag)

Matcher 类:

Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

Matcher matcher=pattern.matcher(url);

matcher.group()必须和matcher.find()配合才行,不然Java语言会报运行时异常。

group

是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。
public boolean find()尝试查找与该模式匹配的输入序列的下一个子序列。

public static void main(String[] args) {
   String str = "Hello,World! in Java.";
   Pattern pattern = Pattern.compile("W(or)(ld!)");
   Matcher matcher = pattern.matcher(str);
   while(matcher.find()){
    System.out.println("Group 0:"+matcher.group(0));//得到第0组——整个匹配
    System.out.println("Group 1:"+matcher.group(1));//得到第一组匹配——与(or)匹配的
    System.out.println("Group 2:"+matcher.group(2));//得到第二组匹配——与(ld!)匹配的,组也就是子表达式
   }
}
Group 0:World!   
Group 1:or   
Group 2:ld!   
相关标签: Java高级

上一篇: day_04

下一篇: 变量和数据类型