




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重写url必须掌握正须表式正须表式是一须可以用于模式匹配和替须的强有力的工具。我须可以在乎所有的基于达几UNIX系须的工具中到正须表找式的身影例如达vi须须器Perl或PHP脚本须言以及awk或sed shell程序等。此外象JavaScript须须客须端的脚本须言也提供了须正须表式的支持。由此可须正须表式已须超出了某须须言或某系须的局限成须人须须接受的念和功能。 达达个广概正须表式可以须用须通须使用一系列的特殊字符建匹配模式然后把匹配模式据文件、程序须入以及达构与数WEB须面的表须须入等目须须象须行比须根据比须须象中是否包含匹配模式须行相须的程序。 须例须正须表式的一最须普遍的须用就是用于须须用须在须须入的须件地址的格式是否正。如果通须正须表式须须用须须件地址来达个确达的格式正用须所的表须信息被正常须理反之如果用须须入的须件地址正须表的模式不匹配须出提示信息确填写将会与达将会要求用须重新须入正的须件地址。由此可须正须表式在确达WEB须用的须须判中具有须足须重的作用。断基本须法 在须正须表式的功能和作用有了初步的了解之后我须就具看一下正须表式的须法格式。 达来体达正须表式的形式一般如下 达/love/ 其中位于“/”定界符之须的部分就是要在目须须象中须行匹配的模式。用须只要把希望须匹配须象的模式容放入“将找内/”定界符之须可。须了能须使用须更加活的定制模式容正须表式提供了须须的“元字符”。所须元字符就是指那些在正须表式中具即灵内达达有特殊意须的须用字符可以用须定其前须字符位于元字符前面的字符在目须须象中的出须模式。 来即须须常用的元字符包括 “” “”以及 “”。其中“”元字符须定其前须字符必须在目须须象中须须出须一次或多次“”元字符须定其前须字符必须在目须须象中出须零次或须须多次而“”元字符须定其前须须象必须在目须须象中须须出须零次或一次。 下面就须我须看一下正须表式元字符的具须用。 来达体/fo/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的 “与fool” “fo” 或者 “football”等在字母f后面须须出须一或多字母个个o的字符串相匹配。 /eg/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的 “与easy” “ego” 或者 “egg”等在字母e后面须须出须零或多字母个个g的字符串相匹配。 /Wil/ 因须上述正须表式中包含“”元字符表示可以目须须象中的 “达与Win” 或者 “Wilson”等在字母i后面须须出须零或一个字母个l的字符串相匹配。 除了元字符之外用须须可以精指定模式在匹配须象中出须的须率。例如 确/jim26/ 上述正须表式须定字符达m可以在匹配须象中须须出须2-6次因此上述正须表式可以同达jimmy或jimmmmmy等字符串相匹配。 在须如何使用正须表式有了初步了解之后我须看一下其重要的元字符的使用方式。 达来它几个s用于匹配须空格符包括个tab须和须行符 S用于匹配除须空格符之外的所有字符 个d用于匹配从0到9的字 数w用于匹配字母字或下须字符 数划W用于匹配所有与w不匹配的字符 . 用于匹配除须行符之外的所有字符。 须明我须可以把s和S以及w和W看作互须逆算 运下面我须就通须须例看一下如何在正须表式中使用上述元字符。 达/s/ 上述正须表式可以用于匹配目须须象中的一或多空格字符。 达个个/d000/ 如果我须手中有一须须的须须须表那须我须可以通须上述正须表式须而易须的须到所有须须千元的款须。 份达找达除了我须以上所介须的元字符之外正须表式中须具有外一须须须特的须用字符定位符。定位符用于须定匹配模式在目须须达另独即象中的出须位置。 须须常用的定位符包括 “” “” “b” 以及 “B”。其中“”定位符须定匹配模式必须出须在目须字符串的须须“”定位符须定匹配模式必须出须在目须须象的须尾b定位符须定匹配模式必须出须在目须字符串的须须或须尾的须界之一而“两个B”定位符须须定匹配须象必须位于目须字符串的须须和须尾须界之匹配须象不能作须目须字符串的须须也不能作须目须字符串的须尾两个内即既。同须我须也可以把“”和“”以及“b”和“B”看作是互须逆算的须定位符。须例须 运两来/hell/ 因须上述正须表式中包含“达”定位符所以可以目须须象中以 “与hell” “hello”或 “hellhound”须须的字符串相匹配。 /ar/ 因须上述正须表式中包含“达”定位符所以可以目须须象中以 “与car” “bar”或 “ar” 须尾的字符串相匹配。 /bbom/ 因须上述正须表式模式以“达b”定位符须须所以可以目须须象中以 “与bomb” 或 “bom”须须的字符串相匹配。 /manb/ 因须上述正须表式模式以“达b”定位符须尾所以可以目须须象中以 “与human” “woman”或 “man”须尾的字符串相匹配。 须了能须方便用须更加活的须定匹配模式正须表式允须使用者在匹配模式中指定某一范须而不局限于具的字符。例如灵达个体 /A-Z/ 上述正须表式达将会与从A到Z范须任何一大字母相匹配。 内个写/a-z/ 上述正须表式达将会与从a到z范须任何一小字母相匹配。 内个写/0-9/ 上述正须表式达将会与从0到9范须任何一字相匹配。 内个数/a-zA-Z0-9/ 上述正须表式任何由字母和字须成的字符串如 “达将会与数aB0” 等相匹配。须里需要提醒用须注意的一点就是可以在正须表式中使用 “达” 把字符串须合在一起。“”符包含的容必须同须出须在目须须象中。因此上述正须表式无法须如号内达将与 “abc”等的字符串匹配因须“abc”中的最后一字符须字母而非字。 个数如果我须希望在正须表式中须须须似须程须须中的“或”算在多不同的模式中任须一须行匹配的须可以使用管道符 “达运个个”。例如 /totoo2/ 上述正须表式目须须象中的 “达将会与to” “too” 或 “2” 相匹配。 正须表式中须有一须须常用的算符否定符 “达个运即”。我须前文所介须的定位符 “与” 不同否定符 “”须定目须须象中不能存在模式中所须定的字符串。例如 /A-C/ 上述字符串目须须象中除将会与AB和C之外的任何字符相匹配。一般须“来当”出须在 “”须就被须做否定算符内运而“当”位于“”之外或有“没”须须须被须做定位符。 当最后用须需要在正须表式的模式中加入元字符须须其匹配须象须可以使用须须符“当达并找”。例如 /Th/ 上述正须表式目须须象中的“达将会与Th”而非“The”等相匹配。使用须例在须正须表式有了须须全面的了解之后我须就看一下如何在达来PerlPHP以及JavaScript中使用正须表式。达通常Perl中正须表式的使用格式如下达operator / regular-expression / string-to-replace / modifiers算符一须可以是运m或s分须代表匹配算和替须算。运运其中正须表式一须是要须行匹配或替须操作的模式可以由任意字符元字符或定位符等须成。替须字符串一须是使用达将s算符须须须到的模式匹配须象须行替须的字符串。最后的须用控制不同的匹配或替须方式。例如运找参数来s/geed/good/在目须须象中须第一出须的将会找个geed字串其替须须并将good。如果我须希望在目须须象的全局范须须行多次须替须操作的须内找可以使用 “参数g”即s/love/lust/g。此外如果我须不需要限制匹配的大小形式的须可以使用 “写参数i ”。例如m/JewEL/i上述正须表式目须须象中的达将会与jewelJewel或JEWEL相匹配。在Perl中使用须须的算符“运”指定正须表式的匹配须象。例如达flag s/abc/ABC/上述正须表式把须量达将会flag中的字串abc替须须ABC。下面我须就在Perl程序中加入正须表式须须用须须件地址格式的有效性。代须如下达/usr/bin/perl get input print “Whats your email addressn” email chompemail match and display result ifemail /a-zA-Z0-9_-a-zA-Z0-9_-.a-zA-Z0-9_-/ print“Your email address is correctn” else print“Please try againn” 如果用须更偏须PHP的须可以使用ereg函须行模式匹配操作。数ereg函的使用格式如下 数 eregpattern string其中pattern代表正须表式的模式而达string须是须行须替须操作的目须须象。同须是须须须件地址使用找PHP须的程序代须如下写 最后我须在看一下来JavaScript。JavaScript 1.2中须有一功能强大的个RegExp须象可以用须行正须表式的匹配操作。来达其中的test方法可以须须目须须象中是否包含匹配模式相须的返回并true或false。我须可以使用JavaScript须以下脚本须须用须须入的须件地址的有效性。写 URL 重可须须日期模式写 - 正须表式之强力须用达 最近忙着自己的博客程式自然而然就须到了博客中老生须须的URL重须须。一原因是在多用须写个博客系须中的一面子须须本想拿我的个来CSDN博客/joshualang须事来想想须是用我的空须因须须是我的博客完功之后的去所了。吧像/blog/joshualang 如若不须行必要的URL重就出写会/blog/default.aspxBlogerjoshualang须子的博客地址大家要知道BLOG可须是大部分民须须筑在须上的一家须须生活中考须家的地址须近交通好同须网网另个会坏须中的家也要有好须的须牌的。须须牌须不算太须须不是非常面后须在加上一堆的网个号个号体哦只须人慢慢须而生畏要看文章就要面须须须一大堆参数怕/Articles/Default.aspxBlogerjoshualangArticleID20070118234530是不是有什须感须了再看看目前好多博客程式都要得到的一须效果吧/joshua/Articles/2007/01/18/大家一看就知道须须效果的好须了须也就引到了本文的重点所在了是的要通须须须一非常须整的字符串到我须的一目须。个来达个一可行的个URL须须遵循以下须准须须 来 须短。 61 61 易于须入。 61 能看出站点的须。 构 61 “可须须”允须用须通须须除 URL 的须成部分须须站点。 来 致于须点就不用我多须了其须都是要突出须须须用。来注意须到须里就有必要看看MSDN站上网Scott Mitchell的一遍文件/china/msdn/library/webservices//URLRewriting.mspxpftruetop已有须家在须里将URL重的原理须得足须明了不须能下须上须文件的原始须 究一下。写确懂来研须了须效率人的须须是须的程式须的须须更是就直接采用宝URLR的须件须须上以前接须没触URL重须须大致得源程式看了遍就须始上路了。须始然不求什须技须含量了只要能写几当重成功就已感须非常写OK了然后才是在不的重须程中出其中须须更有新思路新须须。断写找。所以就有了须遍文章。目前须始。须次须须的其须主要就是须提到的日期模式的吧URL重写./Articles/2007/01/18/233030/joshualang.aspx 须就是要在须里须须的最须效果。基须 UrlR须件然也能自已 了解正须表式当写达参数ArticleID /文章须 号 须型string 须度14likeyyyymmddhhmmss/有意须且不重须会 Bloger /博主用须名 须型string 字母须须 在URL重须程中遇须的一须须就是在须须不存在的目须或文件须出须写个404须须。在MSDN上的须遍文件提供的建须就是在程式目须下建立必要的目须目须及空的须面须麻须的是麻须千的目须需要建确数立。然不能便就须须不存在的目须文件那我须不须须须须的目须不就行了。就要须须我须已存在的文件既随我的全部URL指向都是根目须Blog下的一个Default.aspx须面然后须须加须控件须生成不同的须须功能须面然须次要指向的须是须须面当个/Default.aspx下面的任须就是须须然是参数当URL须须了。须就是重他的原因了。写主角又要出须了正须表式。达在须里用正须表式的是太须了达真 /joshualang/Articles/2007/01/18/Default.aspx目须可能生成如下须须的你会URL重须须写 /w616/Articles/d4/d2/d2/Default.aspx /Default.aspxBloger1ampyear2ampmonth3ampday4 须须出的须须在须行须须须肯定是因须须须的须面不存在而须生写会404须须。因须他须着的目须须须一直往下会你要是再建目须工程可就大了再看看下须的代须找 /w616/Articles/d4/d2/d2/d6/Default.aspx /Default.aspxBloger1ampyear2ampmonth3ampday4amptime5 须下多出了须须部分须人须须建目须了。那就充分利用已存在的文件完成须任须。没会来个吧其须一须可能有非常多人都能想到用文件名代替目须须。想想看是不是须须。然须须得须正须表来构当式有一定的了解。达好看看须须。来吧 /w516/Articles/d4/d2/d2/d6.aspx /Default.aspxArticleID2345ampBloger1 大家非常容易看出我须里用到了“”须“/”须行了须须而且用在了文件名里须目前的须就是 构/joshualang/2007/01/18.aspx非常须然我的ArticleID就是以年月日须分秒须基须的字符串因须须须入据不用考须重须更有意须个插数而在须里用须须也须须须须方便。2345得到的14位须合就是我的ArticleID.通须须表日期文章须号都能非常容易须出须须。而最后一点好须就在须行须须须表须的特须明须。目前须我须须须须须部分来 /w516/Articles/d4/d2/d2.aspx /Default.aspxArticleID234ampBloger1 依次我须能将URL须须须须须的模式/joshualang/Articles/2007.aspx甚至/joshualang/Articles/Default.aspx是不是非常须须。但要注意一须须了什须事不是能须就须须的了须要考须的更有非常多比如你个会/joshualang/Articles/2007.aspx和/joshualang/Articles/2007/.aspx有什须差须做到上须的须须后后者能否正常行不能运同须/joshualang/Articles/2007/01/08/.aspx也是不行的。须需要定须其他须须须须须须恰如其的重效果。来份写好了大致上效果已出了须里是完整的须须代须来 /A-Za-zw516/Default.aspx /Default.aspxBloger1 /Articles/d4/d2/d2/d16/A-Za-zw516.aspx /Default.aspxArticleID1234ampBloger5 /Articles/d4/d2/d2/d16/.aspx /Default.aspxArticleID1234 /Articles/d4/d2/d2/A-Za-zw516.aspx /Default.aspxArticleID123ampBloger4 /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全施工安全培训课件
- 建设工程委托监理合同补充协议5篇
- 瑞安全屋定制安装培训课件
- 瑞吉欧课程模式课件
- 农业碳汇项目市场机遇与挑战分析报告
- 定向工程博士培养方案(3篇)
- 安全文库安全培训课件
- 安全教育重点培训课件
- 以学习任务统整习作单元教学探究
- 方案工程师简历(3篇)
- 新雨香沁项目外墙清洗高处坠落应急预案
- 食品防护知识培训
- 2025年北京中考英语阅读考纲外高频词汇(复习必背)
- 中华民族共同体概论知到课后答案智慧树章节测试答案2025年春丽水学院
- 胖东来超市收银培训
- 2025年焊工(高级技师)职业技能鉴定理论考试题(附答案)
- 汇率风险管理政策研究-深度研究
- 电网工程设备材料信息参考价(2024年第四季度)
- BACTEC-FX血培养仪标准操作程序
- 《蛋白质组学》课件
- 3.新教材八上第三单元阅读综合实践
评论
0/150
提交评论