如何从非显式标记列表中提取子字符串?
\documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\tl_new:N \l_my_tl
\seq_new:N \l_my_seq
\tl_set:Nn \l_my_tl { foot }
\regex_extract_once:nnNTF { foo } { foot }
\l_my_seq
{ true }
{ false }
\par
\regex_extract_once:nnNTF { foo } { \l_my_tl }
\l_my_seq
{ true }
{ false }
\end{document}
第一个提取命令有一个明确的“脚”并且成功了;我希望第二个命令也能如此,扩展\t_my_tl
,但事实并非如此。输出:
true
false
答案1
你必须使用价值标记列表变量:
\documentclass{article}
\usepackage{expl3}
\begin{document}
\ExplSyntaxOn
\tl_new:N \l_my_tl
\seq_new:N \l_my_seq
\cs_generate_variant:Nn \regex_extract_once:nnNTF { nV }
\tl_set:Nn \l_my_tl { foot }
\regex_extract_once:nnNTF { foo } { foot }
\l_my_seq
{ true }
{ false }
\par
\regex_extract_once:nVNTF { foo } \l_my_tl
\l_my_seq
{ true }
{ false }
\end{document}
这将打印
真的
真的