如何使用\(\)作为特殊地方持有

时间:2016-06-29 21:53:09

标签: regex linux shell

我最近从Shell脚本学习了正则表达式,有一个特殊的占位符来保存由(和)

包围的模式

有人能给我一些关于如何使用这个表达式的例子吗?

例如(ab)。* \ 2做什么

1 个答案:

答案 0 :(得分:1)

(ab).*\2

由于没有两个捕获组,因此会出错。 \2是一个后向引用,用于查找第二个捕获组。

<强>解释

NODE                     EXPLANATION
----------------------------------------------------------------------
  (                        group and capture to \1:
----------------------------------------------------------------------
    ab                       match the letters 'ab' in this sequence
----------------------------------------------------------------------
  )                        end of \1
----------------------------------------------------------------------
  .*                       any character except \n (0 or more times
                           (matching the most amount possible))
----------------------------------------------------------------------
  \2                       what was matched by capture \2 but an 
                           associated capture group does not exist
----------------------------------------------------------------------