java 正则表达式的使用-Java正则表达式基础

常用的正则表达式符号和规则

正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文本模式。以下是一些常用的元字符和它们的含义:

  • .:匹配任何单个字符(除了换行符)。
  • *:匹配前面的元素零次或多次。
  • +:匹配前面的元素一次或多次。
  • ?:匹配前面的元素零次或一次。
  • ^:匹配输入字符串的开始位置。
  • $:匹配输入字符串的结束位置。
  • {n}:精确匹配n次前面的字符或者表达式。
  • {n,}:匹配n次或更多次前面的字符或者表达式。
  • {n,m}:匹配至少n次,至多m次前面的字符或者表达式。
  • [abc]:匹配方括号内的任何字符,例如 abc
  • [^abc]:匹配除了方括号内字符的任何字符。
  • (pattern):匹配pattern并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到。
  • \d:匹配数字,等价于 [0-9]
  • \D:匹配非数字,等价于 [^0-9]
  • \s:匹配任何空白字符,包括空格、制表符、换页符等等,等价于 [ \f\n\r\t\v]
  • \S:匹配任何非空白字符,等价于 [^ \f\n\r\t\v]
  • \w:匹配字母或数字或下划线或汉字,等价于 [A-Za-z0-9_]
  • \W:匹配任何非单词字符,等价于 [^A-Za-z0-9_]

Java中的正则表达式类:Pattern和Matcher

在Java中,正则表达式的操作主要通过 java.util.regex 包中的两个类 PatternMatcher 来实现。

  • Pattern 类:这是一个正则表达式的编译表示。Pattern 对象是一个多态的表达式,给定的正则表达式必须首先被编译为此类的一个实例。然后,这个模式可以被用来创建 Matcher 对象,以便匹配任意字符序列。

  • Matcher 类:通过解释 Pattern 对象而得到的正则表达式匹配的引擎。所有的匹配操作都通过这个类完成。

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

// 创建 Pattern 对象
Pattern r = Pattern.compile("[a-z]+");

// 现在创建 matcher 对象
Matcher m = r.matcher("hello world");
boolean b = m.matches();
上一篇:正则表达式(Regular Expression,简称regex)是一种用于描述和匹配文本模式的工具


下一篇:OpenAI发布GPT-4思维破解新策略,Ilya亦有贡献!