共用方式為


錨點

錨點可讓您將規則運算式固定在行首或行尾,或是輸入字串的開頭或結尾。 您也可利用錨點建立符合字首、字尾或文字內部的運算式。

例如,在 er\b 這個運算式中,\b 會比對字緣。 此運算式會比對 "never" 中的 "er",但不會比對 "verb" 中的 "er"。

錨點的運作方式

下表列出規則運算式錨點及其意義:

字元

說明

^

比對位於輸入字串開頭的位置。 如果旗標中包含 m (多行搜尋) 字元,^ 也會比對位於 \n 或 \r 之後的位置。

$

比對位於輸入字串結尾的位置。 如果旗標中包含 m (多行搜尋) 字元,$ 也會比對位於 \n 或 \r 之前的位置。

\b

比對字緣,即介於文字與空格之間的位置。

\B

比對非字緣。

請勿同時使用限定詞與錨點。 因為新行字元或字緣的前後只能緊接著一個位置,所以不允許使用如 ^* 之類的運算式。

若要比對位於內文行首的文字,請在規則運算式的開頭使用 ^ 字元。 請勿混淆在這種運算式中的 ^ 與在括號運算式內的使用方式。

若要比對位於內文行尾的文字,請在規則運算式的結尾使用 $ 字元。

若要在搜尋章節標題時使用錨點,下列規則運算式進行比對的章節標題,最多只能緊接著兩個數字而且會出現在行首:

/^Chapter [1-9][0-9]{0,1}/

實際的章節標題不僅應該出現在行首,還必須是該行的唯一文字。 章節標題出現在行首,也在同一行的行尾。 下列運算式能夠確保指定的比對只進行章節比對,而且不會比對交互參考, 因為所建立的規則運算式只會比對內文行首及行尾。

/^Chapter [1-9][0-9]{0,1}$/

比對字緣稍有不同,但是為規則運算式增加非常重要的功能。 字緣是介於字組與空格之間的位置, 而非字緣則是任何其他的位置。 下列運算式比對單字 "Chapter" 的前三個字元,因為這些字元出現在字緣後面:

/\bCha/

\b 運算子的位置非常重要。 如果這個運算子位於要比對的字串的開頭位置,則它會尋找字首是否相符。 如果這個運算子位於字串的尾端位置,則它會尋找字尾是否相符。 例如,下列運算式比對單字 "Chapter" 中的字串 "ter",因為這個字串出現在字緣前面:

/ter\b/

下列運算式比對出現在 "Chapter" 中的字串 "apt",但是不比對出現在 "aptitude" 中的字串:

/\Bapt/

字串 "apt" 出現在單字 "Chapter" 的非字緣部分,但是出現在單字 "aptitude" 的字緣部分。 針對 \B 非字緣部分運算子,因為比對與字首及字尾無關,所以位置不重要。

請參閱

其他資源

規則運算式簡介