正则表达式(括号)、[中括号]的区别
今天项⽬有个正则看得不太懂,特意复习了有关正则表达式括号和中括号的区别,记录下来,希望以后再有疑问时直接查看便知。
正则表达式(括号)、[中括号]、{⼤括号}的区别⼩结
() 是为了提取匹配的字符串。表达式中有⼏个()就有⼏个相应的匹配字符串。(\s*)表⽰连续空格的字符串。
[]是定义匹配的字符范围。⽐如 [a-zA-Z0-9] 表⽰相应位置的字符要匹配英⽂字符和数字。[\s*]表⽰空格或者*号。
正则表达式获取括号内容{}⼀般⽤来表⽰匹配的长度,⽐如 \s{3} 表⽰匹配三个空格,\s{1,3}表⽰匹配⼀到三个空格。
(0-9) 匹配 '0-9′ 本⾝。 [0-9]* 匹配数字(注意后⾯有 *,可以为空)[0-9]+ 匹配数字(注意后⾯有 +,不可以为空){1-9} 写法错误。0-9]{0,9} 表⽰长度为 0 到 9 的数字字符串。
()和[]有本质的区别
()内的内容表⽰的是⼀个⼦表达式,()本⾝不匹配任何东西,也不限制匹配任何东西,只是把括号内的内容作为同⼀个表达式来处理,例如(ab){1,3},就表⽰ab⼀起连续出现最少1次,最多3次。如果没有括号的话,ab{1,3},就表⽰a,后⾯紧跟的b出现最少1次,最多3次。[]表⽰匹配的字符在[]中,并且只能出现⼀次,并且特殊字符写在[]会被当成普通字符来匹配。例如[(a)],会匹配(、a、)、这三个字符。
所以() [] ⽆论是作⽤还是表⽰的含义,都有天壤之别,没什么联系

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。