百度移动适配规则详解(步骤,正则,代码)

朝·资讯 2018-03-26 16:28:34 4353字
- N +

导读:678彩票主要发布国内手机支付、第三方支付、移动支付、快捷支付、支付行业会展以及与支付行业相关的新闻资讯。[678彩票(www.bez-vesti.com)核心提示] 百度移动适配规则详解正则表达式规则、详解和示例代码1、纯数字适配规则:([0-9]+)或(\d+)解释:  方括号:[]表示字符组,作用是匹配

 百度移动适配规则详解
正则表达式规则、详解和示例代码

1、纯数字适配规则:([0-9]+)或(\d+)

解释:

  方括号:[]表示字符组,作用是匹配其中一个。如:[1234]代表匹配1、2、3、4四个数字中的一个。

  连字符:-表示一个范围。如:[1-4]等价于[1234]、[a-z]等价于[abcdefghijklmnopqrstuvwxyz]。

  加号:+表示与之紧邻的元素必须出现一次或者多次。如:[0-9]+代表匹配至少2个数字以上的纯数字组合。比如:01、10、100、1232、134341324132……

  \d:Perl等编程语言中用\d代表纯数字,算是一种简化。所以[0-9]等价于\d。

  括号:()划定多选结构的范围。在百度移动适配中所有的正则表达式都需包含在()中。

2、纯字母适配规则:([a-zA-Z]+)

  解释:与纯数字一样。这里面包含大小写字母。里面的顺序无所谓,也可以写成([A-Za-z]+)。

  [a-zA-Z]等价于[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]。

  [a-zA-Z]+代表匹配至少2个字母以上的纯字母组合。比如:aa、BB、aBc、AzdbD……

3、字母与数字混合适配规则:([a-zA-Z0-9]+)或(\w+)或((?:[a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+)[a-zA-Z0-9]+)。

  解释:严格来讲[a-zA-Z0-9]+可以匹配纯字母、纯数字和字母与数字的混合。

  竖线|:匹配任意子表达式,也称为多选分支,可以用()来划定多选结构的范围。如h(a|e)llo,可以匹配:hallo,hello。

  \w:Perl等编程语言中用\w代表[a-zA-Z0-9],算是一种简化。所以[a-zA-Z0-9]+等价于(\w+),但是百度并未在最新的文档中提到\w+,大约是因为这个正则表达式粒度太大,适配效果没那么好。

  百度绝口不提\w+,但却提供:((?:[a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+)[a-zA-Z0-9]+),当你的URL中数字与字母交替至少过一次,则可以使用这种。

 (?:正则)这种格式表示匹配正则,但不捕获匹配的文本,也不给此分组分配组号。

    字母与数字混合移动适配示例:

  http://www.baidu.com/abcd1234.html->http://m.baidu.com/abcd1234.html

  适配规则:

  http://www.baidu.com/([a-zA-Z0-9]+).html ->http://m.baidu.com/${1}.html

  再如:字母与数字至少交替一次

  http://www.baidu.com/ab12cd34.html->http://m.baidu.com/ab12cd34.html

  适配规则:

  http://www.baidu.com/((?:[a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+)[a-zA-Z0-9]+).html ->http://m.baidu.com/${1}.html

4、确定有中文字符的适配规则:((?:%[a-zA-Z0-9]{2,})+)

  解释:

  区间{min,max}:规定重复次数的范围。{2,}表示至少重复2次,没有上限。

  当URL中含有中文,百度会用utf-8去编码。如“朝”这个中文会被编码成:%E6%9C%9D

  那么%[a-zA-Z0-9]{2,}就可以匹配%XX这样的规则了。%[a-zA-Z0-9]{2,})+也就是匹配中文的规则。

  中文URL适配规则示例:

  http://www.baidu.com/朝/ ->http://m.baidu.com/朝/

  适配规则:


  http://www.baidu.com/((?:%[a-zA-Z0-9]{2,})+)/ ->http://m.baidu.com/${1}/


5、确定有参数的适配规则:([^&]+)

  解释:

  脱字符^:出现的位置不同,表达的意思有别。

  1、当^出现在字符组[]中的第一位时[^…],表示只匹配未列出的字符。如:[^&]表示匹配除了&之外的任意字符。

  2、当^不在[]中,则表示行的起始位置。如:^a表示匹配所有以a开头的行。

  参数URL适配规则示例:

  http://www.baidu.com/s?wd=seo朝 ->http://m.baidu.com/s?wd=seo朝

  适配规则:

  http://www.baidu.com/s?wd=([^&]+) ->http://m.baidu.com/s?wd=${1}

  6、URL中含有-和_的适配规则:

  解释:

  这个只要为-和_连接的各个部分分别做规则适配即可,不再赘述。

  -和_URL适配规则示例:

  http://www.kdjdyy.com/index_1.html->http://m.kdjdyy.com/index_1.html

  适配规则:

  http://www.kdjdyy.com/([a-zA-Z]+)-([0-9]+).html ->http://m.kdjdyy.com/${1}-${2}.html

本文网络搜集整理发布seo朝QQ空间。
爱生活 爱学习  分享技术 分享SEO  灰帽seo网络推广技术交流群欢迎大神加入: 374129063

最专业的BC支付接口,通道安全稳定,服务让你满意1、网银,微信,支付宝,QQ钱包 WAP扫码 所有通道支持2、秒结 D0即时 费率行业最低3、专注QP BC SSC 娱乐城 安全稳定4、秒结 D0即时 费率行业最低5、联系QQ:123157529

TAG标签:
分享到您的社交平台:
上一篇:标签云(Tag Cloud)
下一篇:返回列表