Regular-Expression

如何匹配聯機幫助頁中的行首?

  • July 8, 2015

當我這樣做時,man zshbuiltins我通常想搜尋命令。

假設我正在尋找有關alias命令的資訊。我得到一大段文字,例如:

  : [ arg ... ]
         This  command  does nothing, although normal argument expansions
         is performed which may have effects on shell parameters.  A zero
         exit status is returned.

  alias [ {+|-}gmrsL ] [ name[=value] ... ]
         For  each  name with a corresponding value, define an alias with
         that value.  A trailing space in value causes the next  word  to
         be  checked  for  alias  expansion.   If the -g flag is present,
         define a global alias; global aliases are expanded even if  they
         do not occur in command position.

我希望能夠直接跳到alias這個可怕的整體聯機幫助頁的部分。

我正在嘗試專門搜尋它是第一個單詞的情況。但是,以下所有表達式都表示“找不到模式”:

^alias
^\W*alias
^\s*alias
^[\W\s]*alias

alias當且僅當它是該行的第一個單詞時,我如何匹配?還是有更好的方法直接跳轉到命令?我認為我的預設尋呼機是 Less(我該如何檢查?)。另外我正在使用 Zsh 以防不明顯。

一種選擇是使用前綴空格進行搜尋,例如:/ alias,在單詞“alias”之前有兩個空格以防止誤報匹配,其中“alias”作為另一個句子的一部分出現。如果您確切知道有多少空格,您也可以將匹配放在行首:/^ alias例如。

但是,您的表達式失敗了,因為 Less 搜尋不使用速記字元類。^[^[:alpha]]*alias應該可以工作(但兩個空格更容易)。

引用自:https://unix.stackexchange.com/questions/214593