正则表达式
正则表达式
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 | // 正则表达式匹配 "正确答案" 后面的任意一个字母,并使用捕获组 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果