1、 (?<d>demo.*?)*
匹配:demoAAAdemoAAAdemoAAAdemoAAA得到:
demo
demo
demo
demo2、(?<d>demo[^d]+)*
匹配:demoAAAdemoAAAdemoAAAdemoAAA
得到:
demoAAA
demoAAA
demoAAA
demoAAA
结论:第2种是我要的结果,第一种是非贪婪来匹配的,先匹配到demo后,.*?表示可以不匹配字符,但使表达式完整而匹配尽量少的字符。明显如果匹配了demoAAA然后对这个组做*无限的重复,这样匹配的表达式就更完整了,就表明非贪婪匹配,应该是尽可能使表达式匹配完整而得到demoAAA然后重复组,为什么这里它做了尽量少的匹配,虽然非贪婪就是做尽量少匹配,但应该是匹配表达式更完整的前提下做尽量少吧? 匹配demoAAA怎么都比demo来的完整吧。望大家指明一下非贪婪匹配的原理? 是不是我理解有问题,它就是做尽量少的匹配,而不做匹配完整性的作用