正则表达式的语法
2024-01-09 22:30:06
如果要想灵活的运用正则表达式,必须了解其中各种元素字符的功能,元字符从功能上大致分为:
-
限定符
-
选择匹配符
-
分组组合和反向引用符
-
特殊字符
-
字符匹配符
-
定位符
? ? 我们先说一下元字符的转义号
- 元字符(Metacharacter)-转义号 \\
? ? \\ 符号 说明:在我们使用正则表达式去检索某些特殊字符的时候,需要用到转义符号,否则检索不到结果,甚至会报错。
案例1:用$去匹配"abc$("会怎样?
案例2:用(去匹配"abc$("会这样?
再次提示:
? ? 在java中的正则表达式中,两个\\代表其他语言中的一个\
代码演示:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 分析java的正则表达式的语法(重要)
*/
public class RegGrammar {
public static void main(String[] args) {
String content = "abc$(abc(123(";
// 匹配(
String regStr = "\\(";
Pattern pattern = Pattern.compile(regStr);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
System.out.println("找到:" + matcher.group(0));
}
}
}
运行结果:
需要用到转义符号的字符有以下:
.? *? +? (? )? $? /? \? ?? [? ]? ^? {? }?
?
- 元字符-字符匹配符
? ? ? ? 备注:??
????????在正则表达式中,?
、+
和 *
是量词,用于指定匹配模式的重复次数。它们的区别如下:
-
?
(问号):表示前面的元素在模式中可以出现零次或一次。换句话说,它表示前面的元素是可选的。例如:
ab?
匹配 "a" 或 "ab"。a?b
匹配 "b" 或 "ab"。
-
+
(加号):表示前面的元素在模式中必须至少出现一次,但可以重复多次。例如:
ab+
匹配 "ab"、"abb"、"abbb" 等,但不匹配 "a"。a+b
匹配 "ab"、"aab"、"aaab" 等,但不匹配 "b"。
-
*
(星号):表示前面的元素在模式中可以出现零次或多次。例如:
ab*
匹配 "a"、"ab"、"abb"、"abbb" 等,包括空字符串。a*b
匹配 "b"、"ab"、"aab"、"aaab" 等,包括空字符串。
????????总的来说,?
表示零次或一次,+
表示至少一次,*
表示零次或多次。这些量词用于构建更灵活和强大的正则表达式模式,以适应不同的匹配要求。
文章来源:https://blog.csdn.net/Xx13624558575/article/details/135404813
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!