Regex 用正则表达式替换tftp的字符串

Regex 用正则表达式替换tftp的字符串,regex,tftp,Regex,Tftp,我想使用tftphpa文件重新映射功能(请参阅)。它使用正则表达式,但没有太多功能。我想要的是当客户端发送对foo的请求时,服务器发送client\u IP/foo。目前我有一条规则: r foo \i/foo 但是,正如您所猜测的,它只适用于foo,而我希望它能够满足任何请求。我试过这个: r /.*/ \i//.*/ 但它不起作用。由于文档和示例不多,我不知道该尝试什么,因此您可能会有一些建议。(是的,我知道这不是一个真正的编程问题,但是作为程序员,你知道正则表达式,也许你会有一个好的答

我想使用
tftphpa
文件重新映射功能(请参阅)。它使用正则表达式,但没有太多功能。我想要的是当客户端发送对
foo
的请求时,服务器发送
client\u IP/foo
。目前我有一条规则:

r foo \i/foo
但是,正如您所猜测的,它只适用于
foo
,而我希望它能够满足任何请求。我试过这个:

r /.*/ \i//.*/

但它不起作用。由于文档和示例不多,我不知道该尝试什么,因此您可能会有一些建议。(是的,我知道这不是一个真正的编程问题,但是作为程序员,你知道正则表达式,也许你会有一个好的答案)

你需要在替换中包含匹配的字符串。偏执标记位置匹配,从1开始:

r /(.*)/ \i\/\1/

应该这样做(未经验证)

看起来您需要使用替换模式:如文档中所述,
\0
表示“由正则表达式匹配的整个字符串”。因此,请尝试:


不,不行。请注意,TFTP文件重新映射是如此简单,我甚至不确定我问的是可能的。看起来括号需要转义。。。从文档:
由正则表达式模式的前九个括号子表达式\(…\)中的每一个匹配的字符串。
Nop。但是
r foo\i/\0
有效(当然,仅适用于
foo
)。因此,
/.*/
不起作用。
r .* \i/\0