问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

移动适配怎么写?求老司机看下这个哪里出了问题!

发布网友 发布时间:2022-10-09 01:01

我来回答

2个回答

热心网友 时间:2023-11-19 17:28

虽然百度站长学院移动适配工具使用帮助对如何写适配规则已经说的很清楚了,对于懂点技术的人来说,可能一眼就看明白了,但我依然经常在群里或其它地方看到、听到有人说,移动适配规则到底怎么写?为什么我的适配失败?当然适配失败情况有多种,其实很多还是因为适配规则没写对。今天我就来说一说适配规则的写法。

说到移动适配,首先必须要提到的一个概念就是“正则表达式”,所以上面说,对于懂点技术的人来说,可能都懂点正则表达式,对于不懂的人来说,正则表达式就是个很复杂的东西(其实对于懂的人来说也很复杂),但很庆幸的是,移动适配所需要了解的正则表达式知识很简单。

对于不懂正则表达式的人来说,可能不知道这是个什么东西,但你应该知道另一个概念叫“通配符”,通配符大家应该都了解,比如中学时老师就教我们说,你在windows搜索时,使用“*.jpg”就是搜索所有jpg的图片,因为星号“*”表示匹配任意个字符,现在暂且不说通配符和正则表达式的区别,你只要知道,反正不管通配符或正则表达式都是用来文本匹配的就行了。

正则表达式和通配符一样,不同的字符表示不同的含义,比如:

代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

当然还有很多其它的,而且不同的组合方式会匹配出非常复杂的文本。

但对于百度移动适配,实际上就是利用正则表达式来替换PC和移动URL中动态可替换的一些参数。

比如:PC页面URL为:http://www.baidu.com/1.html,移动页面URL为:m.baidu.com/1.html,其中的数字1就是可替换的动态参数,因为它可能变成2、3、4等又是另外的页面了。所以我们就可以用:http://www.baidu.com/(\d+).html,以此来匹配http://www.baidu.com/{这里是数字}.html的所有页面。移动页面URL直接用${1},${2},……来表示这个链接被替换了多少个参数即可,所以我们该移动页面URL规则为:m.baidu.com/${1}.html

其中\d 就表示匹配一个数字,\d+ 由于多了个加号,就表示匹配多个数字。

同理,比如:PC页面URL为:http://www.baidu.com/a.html,移动页面URL为:m.baidu.com/a.html,其中的字母a就是可替换的动态参数,因为它可能变成b、c、d等又是另外的页面了。所以我们就可以用:http://www.baidu.com/([a-zA-Z]+).html,以此来匹配http://www.baidu.com/{这里是字母}.html的所有页面。同样,我们该移动页面URL规则还是为:m.baidu.com/${1}.html

其中[a-zA-Z]就表示匹配一个字母,[a-zA-Z]+ 由于多了个加号,就表示匹配多个字母。
当然你会想,正则表达式这么复杂,我要遇到很复杂的URL该怎么匹配,其实,百度现在仅仅只支持简单的几个正则表达式:

a)确定都是数字的,则用 (\d+)表示

b)确定都是字母的,则用 ([a-zA-Z]+) 表示
c)确定是字母数字混合,则用 ([a-zA-Z0-9]+) 表示
d)确定是字母数字下划线混合,则用 (\w+) 表示
只有在pattern的粒度无法用上述a和b形式表示时,才用c形式表示;
只有在pattern粒度无法用a、b、c表示时,则才用d形式表示。

如果这4种规则都无法满足你的需求,那很不幸的告诉你,你就只能试用URL适配了。

热心网友 时间:2023-11-19 17:28

没有写完整。http://
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南南京到许昌的公共汽车票 南京去句容需要多久 南京到单县汽车票多少钱 八月十一号南京到高密的汽车票提前几天买 外省保育员证在广东能领到补贴吗 外省的保育员资格证可以在深圳申请补贴吗 广州保育员证在深圳可以申请从教津贴吗 广州的保育师证能在深圳用吗 很走心的干净短句,具有治愈能力的句子 社会很现实的哲理句子太经典了 台式机上什么是移动网络适配器??? 咏松柏的诗句 《全唐诗》卷五百二十三 具有氛围感染力的广告有哪些? 头发打薄是什么意思 头发打薄的意思 钓鱼浮漂调整小技巧 钓鱼浮漂调整小技巧有什么 母亲去世,烧七总包袱怎么写? 捉弄人的聊天套路愚人节 商业承兑汇票逾期说明到底怎么写,我写了说明但是对方就说不对(~_~, 银行承兑汇票的被背书人印章未骑缝,银行拒绝付款,该怎么写证明?? 他说这个月一定付我,如果他不付,我要让他怎么证明 在英语作业本上家长签字怎样写 英语好的进~ 帮我把"家长签字"这句话翻译成英语, 家长签名的英语怎么写 莫泊桑小说《漂亮朋友》读后感 《漂亮朋友》读后感 化妆步骤初学者 化妆初学者必学化妆步骤 零基础学化妆步骤 新手学化妆的正确步骤 巧生豆芽不长须根法 如何自制豆芽 来广东游玩哪里好?湛江自驾游短途自驾游线路推荐,湛江四大好去处... 《百家讲坛》观后感作文 格林童话阅读有感 经典抖音最火的伤感句子摘录80条 房东不肯退剩余水电费,百般抵赖 眼霜用在哪一个步骤 怎样让做引体向上更轻松 眼霜护肤顺序 抹眼霜的正确顺序 用眼霜的顺序 眼霜是第几步用 公司的净利润全部都是股东的吗? 公司可以把税后利润,全部分给股东吗? mac923色号适合大龄 怎么用电饭煲热剩粥 如何写好作文的提纲? 请帮我列提纲 150cm用分数表示( )m 150怎样换成分数?