講了這麼多,還漏掉了乙個重要的內容:究竟什麼才算邊界?
通常情況下,以 空格、段落首行、段落末尾、逗號、句號 等符號作為邊界,
值得注意的是,分隔符「-」也可以作為邊界。
正則如下:
\bmagic\b
效果演示
welcome to nowa-magic this magic place!
本例**
function reg_replace()
這是什麼原因呢?其實很好理解,從「-」的字面意思:分隔符,大致就可以想到了。實際上,在英語中,它是用來做單詞分隔的。
這裡有個重要的搜尋引擎優化常識,大家注意到本文件的命名,我採用的是:regular-expression-tutorial.pdf,為什麼不用下劃線分隔,命名成regular_expression_tutorial.pdf 呢?
因為當搜尋引擎看到「-」的時候,會把它視為乙個空格「 」,而看到下劃線「_」的時候,會把它視為空字元「」
,實際上,下劃線的正確叫法是「連字元」。於是,當我命名為 regular-expression-tutorial.pdf 時,搜尋引擎看到的是: regular expression tutorial.pdf,而當我命名成 regular_expression_tutorial.pdf 時,搜尋引擎看作 regularexpressiontutorial.pdf 。
可以看出,正規表示式在字元邊界問題上 對「-」的處理方式 與 搜尋引擎相同。
邊界的相對性:
正則如下:
\b(,)\b
效果演示
welcome to nowamagic,this magic place!
與上面唯一不同的是:這次我們匹配逗號「,」,而它本身也是乙個邊界,結果與上面完全相反。可見,對於「,」而言,它的邊界是乙個普通字母。
邊界的相對性是很重要的,因為我們很多時候需要匹配諸如「<」這樣的字元。
正規表示式的邊界表示
接下來學習正規表示式的邊界表示,邊界表示就是在寫正規表示式的時候,限制匹配的字串的開始和結束邊界。字元 描述 匹配字串開頭 匹配字串結尾 b 匹配乙個單詞的邊界 b 匹配非單詞邊界 注意 邊界字元只用於描述邊界資訊,不能用於字元的匹配。示例 完善之前課時中關於手機號碼匹配的示例,在匹配超過11位的手...
PHP入門 陣列的定義與使用
1 陣列概述 1 宣告 1 直接賦值宣告 a 0 1 a 1 2 a name 張三 2 使用array 函式 a array 3,4 b array name zhangsan age 67 c array 1,2 age 45 混合宣告陣列時,索引陣列和關聯陣列互不影響 2 特點 可以儲存任意型...
正規表示式筆記 2 邊界符中的單詞邊界 b
regex state 首先單詞字元在正規表示式中定義為 w 也就是 a za z 0 9 所謂的乙個單詞由1個或1個以上的單詞字元組成,多個單詞之間由非單詞字元隔開。b 是乙個位置匹配符,它有如下兩種含義 匹配字串的首字元前和末字元後面的位置 前提是首字元 末字元是乙個單詞字元 w 在單詞字元 w...