* 匹配前面的字符出现的次数为(>=0),例如,go* 能匹配 "g" 以及 "goo"。* 等价于{0,}。
? 匹配前面的字符出现的次数为(0次或者1次) ,go?能匹配 "g"或者"go",("goo"不满足条件,因为超过了一次)
| 多个之间进行选择 [a|b|c] 在a,b,c中选择一个字符,并且只出现一次[a|b|c]*能够出现多次a|b|c如 abccc
+匹配前面的字符出现次数(>=1)最少出现一次 go+ "go"满足条件"("g"不满足条件,因为最少需要出现一次o)
[]从中括号内选择[0-9]一位数并且是0-9之中的一个数
[^0-9]是除去0-9意外的一位字符
{}限定符,限定前面字符出现的次数a{0,}出现0次或者以上(等价于a*)
()小括号匹配并将匹配的值保存,如下栗子,可以将Http请求Url截取字符串
String line = "http://www.zhaobishe.com:80?abd=1&bcd=2#123456";
String pattern = "(\\w+):\\/\\/([^/:]+):(\\d*)\\?([^# ]*)";
结果:
Found value: http
Found value: www.zhaobishe.com
Found value: 80
Found value: abd=1&bcd=2
解析:(\w+ 匹配数字,字母,下划线任意个)(://匹配冒号斜杠)([^/:取值至冒号])(匹配问号)(匹配非#的任意字符)