正则表达式
正则表达式
nodaoli推荐在线网站
https://regex101.com
https://geek-docs.com/java/java-tutorial/regex.html
Java中的语法参照表
Java 具有用于处理正则表达式的内置 API。 它位于java.util.regex中。
Pattern就是regex正则表达式的对象,返回一个Pattern对象Matcher是进行匹配操作的对象,返回true/false
| 正则表达式 | 含义 | 例子 |
|---|---|---|
| . | 匹配任何单个字符。 | 示例 |
| ? | 一次匹配或根本不匹配前面的元素。 | |
| + | 与前面的元素匹配一次或多次。 | |
| * | 与前面的元素匹配零次或多次。 | |
| ^ | 匹配字符串中的起始位置。 | |
| $ | 匹配字符串中的结束位置。 | |
| | | 备用运算符。 | |
| [abc] | 匹配 a 或 b 或 c。 | |
| [a-c] | 范围; 匹配 a 或 b 或 c。 | |
| [^abc] | 否定,匹配除 a 或 b 或 c 之外的所有内容。 | |
| \s | 匹配空白字符。 | 示例 |
| \w | 匹配单词字符; 等同于[a-zA-Z_0-9] | 示例 |
| \d | 匹配单词字符; 等同于[0-9] | 示例 |
例子
.
正则表达式a.c中间的.可以匹配一个任意字符,例如,下面的字符串都可以被匹配:
abc,因为.可以匹配字符b;a&c,因为.可以匹配字符&;acc,因为.可以匹配字符c。
但它不能匹配ac、a&&c,因为.匹配一个字符且仅限一个字符。
\s
a\sc可以匹配:
a c,因为\s可以匹配空格字符;a c,因为\s可以匹配tab字符\t。
它不能匹配ac,abc等。
\w
用\w可以匹配一个字母、数字或下划线,w的意思是word。例如,java\w可以匹配:
javac,因为\w可以匹配英文字符c;java9,因为\w可以匹配数字字符9;。java_,因为\w可以匹配下划线_。
它不能匹配java#,java ,因为\w不能匹配#、空格等字符。
\d
正则表达式00\d可以匹配:
007,因为\d可以匹配字符7;008,因为\d可以匹配字符8。
它不能匹配00A,0077,因为\d仅限单个数字字符。
\D大写的D就是反向,不能为数字
捕获组
使用()来把匹配的内容分组
(?<name>...)
自定义捕获组的名称,后面使用${name}调用
正确答案.*(?
[A-D])
匹配”正确答案”,再匹配它后面的空白符”.*”星号是说明点号多个匹配,捕获组名称为answer,匹配ABCD四种字母
1 | // 正则表达式匹配 "正确答案" 后面的任意一个字母,并使用捕获组 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果


