【发布时间】:2022-08-10 03:40:51
【问题描述】:
我想尝试解析一个使用先前捕获的命名标记的结构,并将该标记中的名称用作另一个标记的名称。那可能吗?
例如,对于字符串foo:bar,我想将标记field 捕获为foo,并将标记foo 捕获为bar
我认为它应该看起来像这样:
data = regexp(text,\'(?<field>\\w+)...((??\\?\\<$<field>\\>[^;]));\',\'names\');
但到目前为止,我还没有成功。
-
也许只是
\'(?<field>\\w+):(?<foo>\\w+)\'? -
不过这个想法是有多个这样的行,而不仅仅是 foo。一个可能是 foo:bar,另一个 fizz:buzz 等,它们都在我正在阅读的同一个文件中,所以它基本上需要是一个单一的动态表达式
-
那么这是不可能的。
-
听起来你只是让你的代码更复杂。将您的代码和数据分开。字符串 \"foo\" 是数据,不要试图通过在其后命名标记来将其放入代码中。
-
这是一个一次性程序,可帮助我组织一些需要更长时间手工完成的事情,不会重复进行