请问正则表达式匹配括号的问题

正则表达式中:匹配()括号
为什么要加个\斜杠
\(”则匹配“(”

直接(,这样写不行吗

正则表达式中()表示一个分组,()属于正则表达式的特殊字符,是具有实际意义的,所以要匹配括号必须要加上 反斜杠 \( 来说明这表示的是一个普通的小括号,而不是一个正则分组
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-06
在java正则表达式中要想匹配到括号"()"
如 123(asdasd123 这个字符串中想取到 asdasd
需要在括号外加上 [] 写成
String test= "123(asdasd123";
System.out.println(test);
Pattern pattern = Pattern.compile("123[(](.*?)123");
Matcher matcher = pattern.matcher(test);
第2个回答  2012-08-27
不行
正则表达式\(,\)是转义字符
()是元字符
第3个回答  2012-08-28
使用"\("是转义的,“(”是元字符
第4个回答  2019-06-13

在正则表达式中,( ) 属于特殊字符,就是一些有特殊含义的字符,比如( )就标记一个子表达式的开始和结束位置。

若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符“\ ”放在它们前面。以 "\(" 匹配 "(",以"\)" 匹配 ")",这是一种固定的语法,记住就可以。

拓展资料:

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

参考资料:百度百科——正则表达式

相似回答