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