建站优化
如何编写网站改版正则规则
发布日期:2017-08-27 09:32

  规则(guī zé)由2部分(bù fèn)组成旧网址的正则表达式、新网址的正则表达式。青岛网络公司不断通过提供各种完善网络解决方案,为客户打开产品线上销售市场,给企业带来实际业务需求。利用丰富的多年互联网营销经验,向客户提供专业的网络建设服务、网站推广、互联网顾问咨询及综合企业互联网化解决方案。青岛网站制作是根据客户的详细要求来定的报价,比如,您打算制作的网站的基本功能(展现公司简介、产品展示、联系方式、人才招聘、企业风采等),您的产品展示方式有没有特殊要求,人才招聘有没有特殊要求,需不需要留言功能,需不需要我们上门拍摄照片,程序上有什么特殊要求没有。青岛网站设计是将策划案中的内容、网站的主题模式,以及结合自己的认识通过艺术的手法表现出来;而网页制作通常就是将网页设计师所设计出来的设计稿,按照W3C规范用HTML语言将其制作成网页格式。
  正则标准说明(shuō míng)支持PCRE标准的表达式。
  以下举例说明
  改版(gǎi bǎn)前urlexample.com/bbs123/?a=2&b=137
  改版后urlbbs123.yoursite.com/thread-137-2.html
  针对这一类长相的url改版
  首先使用(use)正则描述改版前旧url规则^example\.com/([a-z0-9]+)/\?a=([0-9]+)&b=([0-9]+)$
  再用字符串和捕获引用描述改版后新url规则 \1.yoursite.com/thread-\3-\2.html
  注其中\为转义字符,其后可以跟随数字0-9以表示一个对捕获字符串的引用,或者跟随另一个以表示一个字符’’,其余字符皆不可以跟随在一个单独的\之后。其余字符都表示他们自身。
  提交以上正则规则后,如改版前url
  example.com/bbs123/?a=2&b=137
  会匹配(marry)这条规则,并产生(born)如下的捕获对应关系(relationship)
  bbs123 => \1
  2 => \2
  137 => \3
  进而得到最终的改版后url长相为
  bbs123.yoursite.com/thread-137-2.html
  请注意(attention)如下的url将不在本规则覆盖(Cover)范围内
  example.com/BBS123/?a=2&b=137
  原因(Reason)规则配置(deploy)的第一个捕获中指定可通配[a-z0-9]但未包括大写字母
  example.com/bbs123/?a=&b=137
  原因规则配置的第二个捕获指定+匹配至少要有一个字符
  example.com/bbs123/?a=2&b=137&c=5
  原因规则最后指定$表示断言url应该到此结束,否则不匹配
  附PCRE规则常用字符,更多可到标准库中进行了解(liǎo jiě)。
  ^:表示字符串开始,即在此之前不能再有任何字符
  $:表示字符串结束,即在此之后不能再有任何字符
  ?:表示之前的元素可以出现0次或1次
  *:表示之前的元素可以出现0次或多次
  +:表示之前的元素可以出现1次或多次
  {数字}:表示之前的元素必须(must)出现数字次
  {数字,}:表示之前的元素需要(xū yào)出现至少数字次
  {数字1,数字1}:表示之前的元素出现次数(time)不少于在数字1且不大于数字2
  [一些字符]:表示一个在一些字符内的字符,一些字符部分可以用-进行简记,例如[abcde]等同于[a-e]
  .:表示一个任意字符
  \:转义字符,当上面有特殊含义(hán yì)的字符以及\本身需要表示其字面值而非特殊含义时,可以用特殊字符表示这个特殊字符本身,例如?表示一个?而非\出现0次或一次。转义字符还可以和一些非特殊字符使用,表示一个特殊含义,见后续的描述
  \d:表示一个数字[0-9]
  \w:表示一个单词[a-zA-Z0-9_]
  (子模式):一般?和*等计数字符只对前一个元素生效,当需要对一个子模式生效时,需要加上括号。同时,括号内子模式所匹配的字符串,会作为捕获存在,后续可以引用,计数方式(fāng shì)为“从左至右每一个加括号的子模式依次被编号为捕获1、2、3、等”。整个规则本身匹配部分也是一个捕获,记为0号捕获
  |:表示之前的子模式和之后的子模式至少有一个匹配,例如a(bc|de)f可以匹配adef和abcf