2016-11-20 86 views

回答

2

基本上有实现这一目标有两种方式:

  1. 懒惰匹配 - 像/(.*?)/(.*)

.*比赛贪婪的,所以第一个.*第一场比赛尽可能多地(=的提醒字符串),然后回溯直到正斜杠可以匹配。延迟匹配以相反的方式工作,.*?匹配尽可能少(=无),然后展开直到斜线可以匹配。

  • 负值字符类匹配 - 像/([^/]*)/(.*)
  • 正如我们所知,我们要匹配的正斜杠之前的一切,我们可以使用一个字符类,其中前斜线被否定,然后再次匹配贪婪。这是更高性能,因为您可以在一个步骤中匹配,而是通过延迟匹配来扩展您的模式。

    +0

    它的工作原理,谢谢! – michalsol