Java正则表达式是一种强大的文本处理工具,它是一种用来描述字符串模式的语言,用于匹配、搜索、替换和提取字符串中的数据。Java正则表达式可以用于处理字符串中的字符、数字、符号等内容,常用于文本编辑器、搜索引擎、数据处理和验证等场景。
以下是Java正则表达式语法大全:
1、字符字面量
单个字符:匹配指定的单个字符。
例如:’a’匹配字符’a’。
转义字符:使用反斜杠()加上特殊字符来匹配特殊字符。
例如:’\’匹配反斜杠字符”。
字符类:使用方括号[]来匹配其中任意一个字符。
例如:[abc]匹配字符’a’、’b’或’c’。
非字符类:使用方括号[]和插入符号^来匹配其中任意一个非字符。
例如:[^abc]匹配任意一个不是字符’a’、’b’或’c’的字符。
2、量词
*:匹配前面的子表达式零次或多次。
+:匹配前面的子表达式一次或多次。
?:匹配前面的子表达式零次或一次。
{n}:匹配前面的子表达式n次。
{n,}:匹配前面的子表达式至少n次。
{n,m}:匹配前面的子表达式至少n次,但不超过m次。
3、分组
普通分组:使用小括号()将多个子表达式组合在一起。
非捕获分组:使用(?:…)来分组,但不进行捕获。
后向引用分组:使用反斜杠加数字来引用前面的分组,用于匹配相同的字符串。
零宽度正预测先行断言分组:使用(?=…)来分组,并且在匹配到(…)时,在(…)之后进行预测匹配。
零宽度正回顾后发断言分组:使用(?<=…)来分组,并且在匹配到(…)时,在(…)之前进行回顾匹配。
4、元字符
.:匹配任意单个字符。
\d:匹配任意一个数字字符。
\D:匹配任意一个非数字字符。
\s:匹配任意一个空白字符(空格、制表符、换行符等)。
\S:匹配任意一个非空白字符。
\w:匹配任意一个单词字符(字母、数字、下划线)。
\W:匹配任意一个非单词字符(除字母、数字、下划线之外的字符)。
5、边界匹配
^:匹配字符串的开始位置。
$:匹配字符串的结束位置。
\b:匹配单词的边界。
\B:匹配非单词的边界。
6、模式修饰符
i:忽略大小写。
m:多行模式