正则表达式中的()[]{}这三种括号正常有什么区别

正则表达式中的()[]{}这三种括号一般有什么区别

来源: 百度知道

写道
()这种括号,会分配存储空间,可以用$1取得里面的数据
[]用来自定义能够匹配 '多种字符' 的表达式。比如[mike]匹配,m,i,k,e,这4个字母,这里注意是单个字符不能匹配一个单词mike,如果要匹配一个单词可以这样写(mike),如果不需要分配存储空间可以直接写mike.
{}修饰匹配次数的符号。a{0,1}a至少出现0次或最多1次,第二次出现则不匹配了a{2,5}a至少出现2次或最多5次.

 

举个栗子:

// 去除连续的重复wbr换行符

html = html.replaceAll("(<wbr>)\\1+", "$1");

// 去除img标签的ALT属性

html = html.replaceAll("((?i)<img[^>]*?)\\s+ALT\\s*=\\s*\\S+","$1");