<code id="6mcsu"></code>
<li id="6mcsu"></li>
<li id="6mcsu"><dl id="6mcsu"></dl></li>
  • <code id="6mcsu"><tr id="6mcsu"></tr></code>
    或者

    分享一下寫移動適配規(guī)則的技巧

    作者:子墨-快排 瀏覽:149 發(fā)布時間:2017-04-08
    分享 評論 0

    經(jīng)常看到有人提問說,移動適配規(guī)則到底怎么寫?為什么我的適配失敗?當(dāng)然適配失敗情況有多種,其實很多還是因為適配規(guī)則沒寫對。今天我就來說一說適配規(guī)則的寫法。


    說到移動適配,首先必須要提到的一個概念就是“正則表達(dá)式”,所以上面說,對于懂點技術(shù)的人來說,可能都懂點正則表達(dá)式,對于不懂的人來說,正則表達(dá)式就是個很復(fù)雜的東西(其實對于懂的人來說也很復(fù)雜),但很慶幸的是,移動適配所需要了解的正則表達(dá)式知識很簡單。


    對于不懂正則表達(dá)式的人來說,可能不知道這是個什么東西,但你應(yīng)該知道另一個概念叫“通配符”,通配符大家應(yīng)該都了解,比如中學(xué)時老師就教我們說,你在windows搜索時,使用“*.jpg”就是搜索所有jpg的圖片,因為星號“*”表示匹配任意個字符,現(xiàn)在暫且不說通配符和正則表達(dá)式的區(qū)別,你只要知道,反正不管通配符或正則表達(dá)式都是用來文本匹配的就行了。


    正則表達(dá)式和通配符一樣,不同的字符表示不同的含義,比如:

    代碼 說明

    . 匹配除換行符以外的任意字符

    \w 匹配字母或數(shù)字或下劃線或漢字

    \s 匹配任意的空白符

    \d 匹配數(shù)字

    \b 匹配單詞的開始或結(jié)束

    ^ 匹配字符串的開始

    $ 匹配字符串的結(jié)束


    當(dāng)然還有很多其它的,而且不同的組合方式會匹配出非常復(fù)雜的文本。


    但對于百度移動適配,實際上就是利用正則表達(dá)式來替換PC和移動URL中動態(tài)可替換的一些參數(shù)。


    比如:PC頁面URL為:www.baidu.com/1.html,移動頁面URL為:m.baidu.com/1.html,其中的數(shù)字1就是可替換的動態(tài)參數(shù),因為它可能變成2、3、4等又是另外的頁面了。所以我們就可以用:www.baidu.com/(\d+).html,以此來匹配www.baidu.com/{這里是數(shù)字}.html的所有頁面。移動頁面URL直接用${1},${2},……來表示這個鏈接被替換了多少個參數(shù)即可,所以我們該移動頁面URL規(guī)則為:m.baidu.com/${1}.html


    其中\(zhòng)d 就表示匹配一個數(shù)字,\d+ 由于多了個加號,就表示匹配多個數(shù)字。


    同理,比如:PC頁面URL為:www.baidu.com/a.html,移動頁面URL為:m.baidu.com/a.html,其中的字母a就是可替換的動態(tài)參數(shù),因為它可能變成b、c、d等又是另外的頁面了。所以我們就可以用:www.baidu.com/([a-zA-Z]+).html,以此來匹配www.baidu.com/{這里是字母}.html的所有頁面。同樣,我們該移動頁面URL規(guī)則還是為:m.baidu.com/${1}.html


    其中[a-zA-Z]就表示匹配一個字母,[a-zA-Z]+ 由于多了個加號,就表示匹配多個字母。

    當(dāng)然你會想,正則表達(dá)式這么復(fù)雜,我要遇到很復(fù)雜的URL該怎么匹配,其實,百度現(xiàn)在僅僅只支持簡單的幾個正則表達(dá)式:


    a)確定都是數(shù)字的,則用 (\d+)表示

    b)確定都是字母的,則用 ([a-zA-Z]+) 表示

    c)確定是字母數(shù)字混合,則用 ([a-zA-Z0-9]+) 表示

    d)確定是字母數(shù)字下劃線混合,則用 (\w+) 表示

    只有在pattern的粒度無法用上述a和b形式表示時,才用c形式表示;

    只有在pattern粒度無法用a、b、c表示時,則才用d形式表示。


    如果這4種規(guī)則都無法滿足你的需求,那很不幸的告訴你,你就只能試用URL適配了。


    如果你還是對移動適配規(guī)則寫法不太懂,那可以參考百度站長學(xué)院的移動適配工具幫助,再看我這篇文章,你應(yīng)該會有一個深的了解。

    亚洲AV无码国产在丝袜线观看| 日韩免费人妻AV无码专区蜜桃| 无码爆乳护士让我爽| 免费无遮挡无码视频在线观看| 毛片免费全部播放无码| 中文国产成人精品久久不卡| 无码国产色欲XXXXX视频| 最近中文字幕电影大全免费版 | 99久久国产热无码精品免费| 中文字幕无码久久精品青草| 熟妇人妻中文字幕| 四虎国产精品永久在线无码| 最近中文字幕免费2019| 无码欧精品亚洲日韩一区夜夜嗨 | 日本免费中文字幕| 精品无码久久久久久国产| 无码专区天天躁天天躁在线| 亚洲一区日韩高清中文字幕亚洲| 中文字幕亚洲欧美日韩在线不卡| 精品无码av一区二区三区| 亚洲精品午夜无码电影网| 特级做A爰片毛片免费看无码| 天堂…中文在线最新版在线| 亚洲AV无码乱码精品国产| 久久精品无码一区二区三区| 无码人妻精品一区二区在线视频 | 亚洲av无码一区二区三区网站| 欧美日韩不卡一区二区三区中文字| 亚洲Av无码乱码在线观看性色| 精品三级AV无码一区| 麻豆亚洲AV永久无码精品久久| 亚洲日韩精品无码一区二区三区| 久久精品无码一区二区WWW| 中文成人无码精品久久久不卡 | 婷婷综合久久中文字幕蜜桃三电影| 777久久精品一区二区三区无码| 精品无码国产污污污免费网站 | 亚洲高清无码综合性爱视频| 成人毛片无码一区二区三区| 国模GOGO无码人体啪啪| 无码国产福利av私拍|