String.split()方法:根据给定正则表达式的匹配拆分此字符串
例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:
Regex 结果
: { "boo", "and", "foo" }
O { "b", "", ":and:f" }
Pattern
典型的调用顺序是
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
正则表达式的构造摘要
字符
// 反斜线字符
/0n 带有八进制值 0 的字符 n (0 <= n <= 7)
/0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)
/0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
/xhh 带有十六进制值 0x 的字符 hh
/uhhhh 带有十六进制值 0x 的字符 hhhh
/t 制表符 ('/u0009')
/n 新行(换行)符 ('/u000A')
/r 回车符 ('/u000D')
/f 换页符 ('/u000C')
/a 报警 (bell) 符 ('/u0007')
/e 转义符 ('/u001B')
/cx 对应于 x 的控制符
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
Logical 运算符
XY X 后跟 Y
X|Y X 或 Y
(X) X,作为捕获组
边界匹配器
^ 行的开头
$ 行的结尾
/b 单词边界
/B 非单词边界
/A 输入的开头
/G 上一个匹配的结尾
/Z 输入的结尾,仅用于最后的结束符(如果有的话)
/z 输入的结尾