为什么正则表达式的预定义字符是\d,\D,\w,\W。但是用的时候却要加两个\\,如"\\W+"
还有就是贪婪型与勉强型
X? X??
X* X*?
X+ X+?
分别是什么意思?
------解决思路----------------------
因为Java 会默认把 '\' 当做转义字符来处理,你写 "\d" 的话编译都通不过的,会爆出Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )的错误
贪婪型就是尽可能多的匹配,勉强型就是尽可能少的匹配。比如对于"1000000"
"1*"的匹配结果是1000000
而"1*?"的匹配结果是1
------解决思路----------------------
对不起,我刚才忘记打了一个点,应该是
"1.*"的匹配结果是1000000
而"1.*?"的匹配结果是1
主要是使用正则表达式在含有嵌套结构的母串中提取子串或替换子串时需要注意两者的区别