- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
定位符使您能夠?正則表達式固定到行首或行尾。它們還使您能夠創建這樣的正則表達式,這些正則表達式出現在一個單詞內、在一個單詞的開頭或者一個單詞的結尾。
定位符用來描述字符串或單詞的邊界,^和$分別指字符串的開始與結束,描述單詞的前或后邊界,B表示非單詞邊界。
正則表達式的限定符有:
字符 | 描述 |
---|---|
^ | 匹配輸入字符串開始的位置。如果設置了 RegExp 對象的 Multiline 屬性,^ 還會與 或 之后的位置匹配。 |
$ | 匹配輸入字符串結尾的位置。如果設置了 RegExp 對象的 Multiline 屬性,$ 還會與 或 之前的位置匹配。 |
匹配一個字邊界,即字與空格間的位置。 | |
B | 非字邊界匹配。 |
注意:不能將限定符與定位點一起使用。由于在緊靠換行或者字邊界的前面或后面不能有一個以上位置,因此不允許諸如 ^* 之類的表達式。
若要匹配一行文本開始處的文本,請在正則表達式的開始使用 ^ 字符。不要將 ^ 的這種用法與中括號表達式內的用法混淆。
若要匹配一行文本的結束處的文本,請在正則表達式的結束處使用 $ 字符。
若要在搜索章節標題時使用定位點,下面的正則表達式匹配一個章節標題,該標題只包含兩個尾隨數字,并且出現在行首:
/^Chapter [1-9][0-9]{0,1}/
真正的章節標題不僅出現行的開始處,而且它還是該行中僅有的文本。它即出現在行首又出現在同一行的結尾。下面的表達式能確保指定的匹配只匹配章節而不匹配交叉引用。通過創建只匹配一行文本的開始和結尾的正則表達式,就可做到這一點。
/^Chapter [1-9][0-9]{0,1}$/
匹配字邊界稍有不同,但向正則表達式添加了很重要的能力。字邊界是單詞和空格之間的位置。非字邊界是任何其他位置。下面的表達式匹配單詞 Chapter 的開頭三個字符,因為這三個字符出現字邊界后面:
/Cha/
字符的位置是非常重要的。如果它位于要匹配的字符串的開始,它在單詞的開始處查找匹配項。如果它位于字符串的結尾,它在單詞的結尾處查找匹配項。例如,下面的表達式匹配單詞 Chapter 中的字符串 ter,因為它出現在?邊界的前面:
/ter/
下面的表達式匹配 Chapter 中的字符串 apt,但不匹配 aptitude 中的字符串 apt:
/Bapt/
字符串 apt 出現在單詞 Chapter 中的非字邊界處,但出現在單詞 aptitude 中的字邊界處。對于 B 非字邊界運算符,位置并不重要,因為匹配不關心究竟是單詞的開頭還是結尾。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP