問:
var reg:RegExp=/a+?/
其中“?“號表示非貪心模式,表示儘可能少的匹配文字,這有什麼實戰意義嗎?
如果是為了讓它匹配到第一個,就不再往下匹配了。那豈不是多餘的圈圈嗎?你直接讓他匹配一次不就得了
答:
在星"*"或者加"+"後面加上問號"?",表示非貪模式,即儘可能少的匹配.示例如下:
有字串 hello world, this is regexp demo.
1. 使用:h.+o 將匹配:hello word, this is regexp demo 因為點匹配任意字元,後面跟加號,
表示前面一個h, 後面一個o,中間將匹配任意字元.此時為貪心模式,它將盡可能多的匹配,所以就一直匹配到最後面一個o.
2. 使用h.+?o 將匹配:hello 這時, 它將匹配一個h, 後面是一個o, 中間是任意字元(非貪模式),將盡可能少的匹配,所以只找到了hello
沒看懂,先記錄著