regex - 我需要使用 sed 转义哪些字符才能使此正则表达式正常工作

标签 regex linux sed ip

(?<![0-9])0+(?=[0-9]+)

我需要删除格式错误的 IP 地址八位字节中不必要的前导零。

我想做这样的事情,但它不起作用。

cat Qualys-Active-IPs.csv | awk -F';' {'print $1'} | sed 's/(?<![0-9])0+(?\=[0-9]+)//g'

最佳答案

解决方法是:

 sed -r 's/^0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)\.0*([0-9]+)$/\1.\2.\3.\4/'

关于regex - 我需要使用 sed 转义哪些字符才能使此正则表达式正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833845/

相关文章:

java - 从字符串中添加和减去数字

linux - 汇编项目,在 Intel i386 架构上使用 YASM 将行号添加到文本中

使用子进程获取 PID 并从其所在目录外部启动时杀死它的 Python 脚本表现得很奇怪

linux - 如何修改行首有字符的模式

linux - 仅当 csv 中的第二个字段为 yes 时,才将 csv 文件中的单词剪切为文本文件

bash - 用sed替换字符串的一部分

Java 替换全部

regex - Scala 正则表达式中的可选分组

javascript - 以空格开头的字符串的正则表达式

linux - 通过在 linux 中删除 url 参数来重命名文件