回溯主要是针对量词的。
因为量词有不确定性,而默认匹配是贪婪的,
所以,会匹配最大个数,
这时候量词匹配完了,继续往后匹配,
发现匹配不到,再把匹配的字符一个个的吐出来重新匹配,
直到可以匹配到最大两次为止。
这个过程就是回溯
回溯其实就是深度优先搜索算法
1、如果有多个贪婪量词,那么优先匹配最先的贪婪量词
2、贪婪量词后面给?使用非贪婪模式,也就是惰性模式。
但是惰性模式也可能发生回溯,因为尽管是尽量匹配少的量词,但是也需要保证能匹配上
回溯主要是针对量词的。
因为量词有不确定性,而默认匹配是贪婪的,
所以,会匹配最大个数,
这时候量词匹配完了,继续往后匹配,
发现匹配不到,再把匹配的字符一个个的吐出来重新匹配,
直到可以匹配到最大两次为止。
这个过程就是回溯
回溯其实就是深度优先搜索算法
1、如果有多个贪婪量词,那么优先匹配最先的贪婪量词
2、贪婪量词后面给?使用非贪婪模式,也就是惰性模式。
但是惰性模式也可能发生回溯,因为尽管是尽量匹配少的量词,但是也需要保证能匹配上