如果我想要捕获到终结点之前的所有内容,我相信这两个返回的结果是相等的。
([^=]+)=
(.+?)=除了你的代码高尔夫得分之外,还有什么理由更喜欢其中之一呢?
发布于 2019-01-14 17:49:20
被否定的字符类模式将在单个步骤中匹配其内容,而懒惰模式将逐个字符扩展,这应该会使前者表现更好。
注意换行,根据引擎和修饰符的不同,.可能会也可能不会涉及换行字符,^=几乎在所有引擎中都会涉及到换行字符。
如果模式中还有更多内容,.+?可能会扩展到边界字符上,而[^=]+永远不会。例如,([^=]+)=3和(.+?)=3在1=2=3上会有不同的匹配。
https://stackoverflow.com/questions/54178883
复制相似问题