-1
我有以下文字:正则表达式的UNIX开关NUM
(took 1.22 seconds)
需要使用正则表达式替换时有发生。 我想要的字符串是:
(took TIME seconds)
我该怎么办?
我正在使用的Unix类似以下的脚本:
's/user detected .*$/user detected USER/g'
我有以下文字:正则表达式的UNIX开关NUM
(took 1.22 seconds)
需要使用正则表达式替换时有发生。 我想要的字符串是:
(took TIME seconds)
我该怎么办?
我正在使用的Unix类似以下的脚本:
's/user detected .*$/user detected USER/g'
您可以使用以下任何sed
的解决方案:
s='took 1.22 seconds'
echo $s | sed 's/ [0-9]*\.\?[0-9]\{2\}/TIME /g'
echo $s | sed -E 's/[0-9]*\.?[0-9]{2}/TIME/g'
echo $s | sed -E 's/\b[0-9]*\.?[0-9]{2}\b/TIME/g'
的模式意味着:
[0-9]*
- 零个或更多个数字\.?
- 的1或0的点[0-9]{2}
- 2位数字\b
- 字边界。
您正在使用哪种编程语言? – Mistalis
unix中的脚本:类似于下面的 – Tehila
的用户检测到的。* $/user detected USER/g' – Tehila