使用正则表达式 + 符号有哪些实际场景?

使用正则表达式 + 符号有哪些实际场景?

所以,我想我知道 RegEx + 符号的作用(查找前面的字符 1 次或多次)。我想我知道如何使用它了...

echo "This is a good sentence." | awk '/go+d/ {print $0}'

(发现很好,好,好)

但是,我很难找到一个实际的、客观的理由来寻找这种重复。我需要场景来为其目的提供一些背景,以便向其他人解释。

感谢您的帮助并让我依靠您的知识和经验。

答案1

当您正在考虑单个字符时,您会发现这+对于字符类更有用......

  • 空白:\s+
  • 非数字字符:[^0-9]+
  • 一个字:\w+
  • 非空字符串:.+
  • ETC。

有了这些,实际的例子应该很容易想到。也许我只想查找具有缩进文本的行:^\s+\S。或者我可能想找到所有非空行:^.+$。如果你需要的话我可以想出更多。 ;)

答案2

这是一个真实世界中使用*而不是造成损坏的实例+(主要是因为OP没有意识到他们最终会使用正则表达式而不是通配符):为什么这个命令会删除所有包?

apt-get install和 的参数apt-get remove扩展正则表达式,而不是 shell 通配符; wine*表示win后跟任意数量的e,并且由于这可以匹配包名称的任何部分,因此这意味着名称包含win子字符串的任何包。

OP 已运行sudo apt-get remove wine*,最终删除了系统中大部分已安装的软件包。wine+另一方面,会删除wine其中包含的软件包。

相关内容