美文网首页
java的正则表达式

java的正则表达式

作者: 好大一只鹏 | 来源:发表于2019-11-09 09:56 被阅读0次
  java.util.regex 包中有实现正则表达式所需的类:
Pattern
正则表达式编译后的表达形式,没有公共构造方法,需要调用静态 compile 方法生成 Pattern 对象。
Matcher
根据 Pattern 对象对字符串进行解释和匹配操作的引擎,没有公共构造方法,需要调用 Pattern 对象的 matcher 方法生成 Matcher 对象。
MatchResult
PatternSyntaxException
当正则表达式中存在语法错误时抛出,继承自 IllegalArgumentException,属于运行时异常。
定义正则表达式字符串;
编译生成 Pattern 对象;
调用 Pattern 对象的 matcher 方法生成 Matcher 对象;
调用 Matcher 对象的 matches 方法执行校验。

import org.junit.Assert;
import org.junit.Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest {

    @Test
    public void test() {
        // 只能输入数字
        String regex = "^[0-9]*$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher("0123456789");
        Assert.assertTrue(matcher.matches());
        matcher = pattern.matcher("A123456789");
        Assert.assertFalse(matcher.matches());
    }
}

正则语法大全

  *    零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}。

  +    一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}。

  $    匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配。

  ^    匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n"或"\r"之后的位置匹配。

 \d    数字字符匹配。等效于 [0-9]。

 \D    非数字字符匹配。等效于 [^0-9]。

 \n    换行符匹配。等效于 \x0a 和 \cJ。

相关文章

网友评论

      本文标题:java的正则表达式

      本文链接:https://www.haomeiwen.com/subject/zamgbctx.html