解释foo和(foo )之间的差异

  • 本文关键字:foo 之间 解释 regex grep
  • 更新时间 :
  • 英文 :

grep "http://.*.jpg" index.html -o

http://开始,并以 .jpg

结尾。

如此:grep "http://.*.(jpg)" index.html -o

有什么区别?是否有任何可能失败的条件?

我使用此正则以下条件匹配JPG,PNG或GIF:

http://.*.(jpg|png|gif)

与我阅读的反向注册或正则分组有关。无法理解此部分()

分组用于两个正则表达式。

使用替代方案时,一种用途是界定正则分散的部分。在您的第三条言论中就是这种情况,它使您可以说扩展名可以是JPG,PNG或GIF。

另一种用途是用于反向提示。这使您可以参考与REGEXP稍后在RegexP中的较早部分相匹配的文本。例如,以下REGEXP匹配连续两次出现的任何字母:

([a-z])1

backreference 1的意思是"匹配匹配Regexp中的第一组的任何匹配"。

() metacharacters 。即它们不匹配自己,但对grep表示含义。

从这里:

进行分组,并进行反斜杠,然后是括号'(’ ')’。

因此,在上面的()中定义了一组由|字符隔开的可能性。即您的文件名扩展。

最新更新