5

我正在使用 egrep 查看我们 perforce NAS 中的脚本。

我试图找到我们在哪里使用 RCP 和 RSH....我遇到的问题是 1)我在 REGEX 上很烂;2) 我正在收集我不感兴趣的垃圾。例如,如果一个文件有单词 strcpy..它会在 RCP..或所有权..点击 RSH 上获得。

显然我对这些不感兴趣,但我不想根据所有权或 strcpy 一词排除行......因为它们可能会结合使用......而且它不是一个完整的列表。

这是我的正则表达式

 'ftp|rcp|rsh' 

如何修改这些以访问 FTP,而不是 SFTP...rcp 但没有 strcpy,rsh 但不是所有权......等等?

所以我想要匹配的东西。

ftp
`ftp`
/ftp/
"PUNCT"FTP"PUNCT"
4

2 回答 2

8

也许你需要这样的东西:

\b< - 这是单词的边界

\bpattern\b<- 此模式将仅匹配pattern,但不匹配otherbigpatternthatyounotneed

于 2012-09-20T15:06:32.620 回答
6

有几个元字符:

  • \b词界
  • \<词开始
  • \>词尾

因此,一种可能的正则表达式是:\<(ftp|rcp|rsh)\>

于 2012-09-20T15:09:33.020 回答