此正则表达式代表什么意思? (:[\\w]*)

Pattern.compile("(:[\w]*)");
Pattern.compile("('[^']*')");

上面2个如何匹配的?
[b]问题补充:/b
() 什么意思?
: 什么意思
[] 什么意思?

  • 什么意思? 和在一起什么意思?

(:[\w]*)

整个表达式的含义是:

()表示正则里面的分组,这样匹配的结果可以用group(1)来获得.
:就是普通的冒号
[\w]表示任意字母或者数字
*表示0个或者多个

整个表达式意思就是以:开头的任意长度的数字或者字母,匹配如下:

:12DS
:DFS23SDF

('[^']*')
()的含义同上
'表示'开头
[^']表示不是'的任意字符
*表示0个或者多个,
'表示'结尾

整个表示就是在''之间的任意字符.匹配:
'xcvxcvx'
'zcxzxcz'

但是要注意的是,如果出现了2个以上的'
那就会匹配多次的匹配,比如

'sdfsdf1'sdfsdf2'sdfsd3'
匹配的结果就是
sdfsdf1
sdfsdf2
sdfsd3

\w 表示[A-Z0-9],即字母+数字
[^']*表示不以'开头的任意字符