我想替换这个结果:
(something=)([\-\d\.]*)
用这个:
nowitis=($2*10)
但不是得到
nowitis=(80)
我得到了
nowitis=(8*10)
如何解决?
答案 0 :(得分:0)
在sed中,例如:
public class TaskViewComponent : ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync(string Id)
{
var data = await Task.Run(() => Id.Trim());
return View("Default", data);
}
}
乘以10只是在数字上加零。 Sed没有计算结果。
但是,我所知道的所有正则表达式实现都可以让它更简单:
echo "something=123" | sed -r 's/(something=)([\-\d\.]*)/\1\2*10)/'
something=123*10)
echo "something=123" | sed -r 's/(something=)([\-\d\.]*)/\1\20/'
something=1230
在组[ - \ d。]中, - 符号是前导符号,因此它不能像A-Z那样成为范围的一部分。嗯,它可能,它可能意味着从0到某事,但它没有。作为第一个或最后一个角色,它不需要掩码。
同样地,每个包含点的组(如果点被解释为小丑符号)可以简化为那个jokersign。因此,你不需要这样的小丑。所以你也不必掩饰它。
答案 1 :(得分:0)
输入字符串可以是:
something=10.2
something=-3.15
所以可以有负数和浮点数。
我有一个PHPStorm IDE,我正在使用regex的find&amp; replace函数 所以很好,但没有乘法。 所以我想我可以在几次运行中做到这一点。 例如,在下一次运行中,我会找到我的结果,然后将点移动1。 我阅读了PCRE文档,但未找到乘法选项。
更容易就是在PHP中写一个脚本来做正确的事。 但我认为这可以更轻松。