为什么这个(原本有效的)正则表达式在“expl3”(后向语法)中不起作用?

为什么这个(原本有效的)正则表达式在“expl3”(后向语法)中不起作用?

要么expl3不支持后视,要么我做错了什么。

\documentclass[margin=5mm,varwidth]{standalone}
\usepackage{expl3}
\begin{document}
  \ExplSyntaxOn
    % must match dot that precedes "d"
    \regex_match:nnTF{(?<=d)\.}{hello world.this is. some test}{match}{NO~match}
  \ExplSyntaxOff
\end{document}

答案1

LaTeX3 正则表达式引擎涵盖了一组已记录的功能。特别是,目前尚未实现后向查找。该l3regex实现使用有限状态自动机,并且可能的实现环顾四周:参见https://cs.stackexchange.com/questions/2557/how-to-simulate-backreferences-lookaheads-and-lookbehinds-in-finite-state-auto。然而,这项工作十分棘手,至今尚未得到解决。

相关内容