// In a loop, this can exhaust connection pools
both of these approaches use NFAs under the hood, which means O(m * n) matching. our approach is fundamentally different: we encode lookaround information directly in the automaton via derivatives, which gives us O(n) matching with a small constant. the trade-off is that we restrict lookarounds to a normalized form (?<=R1)R2(?=R3) where R1/R2/R3 themselves don’t contain lookarounds. the oracle-based approaches support more general nesting, but pay for it in the matching loop. one open question i have is how they handle memory for the oracle table - if you read a gigabyte of text, do you keep a gigabyte-sized table in memory for each lookaround in the pattern?
。业内人士推荐一键获取谷歌浏览器下载作为进阶阅读
Фото: Majid Asgaripour / WANA / Reuters
圖像來源,Getty Images
Analysis: Trump administration still not settled on reasons for war