仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1762|回复: 19
打印 上一主题 下一主题

[学习教程] ASP网页设计正则表达式初级进修技能

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:30:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了. 关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用初级|技能|正则   媒介
  Regular Expressions(正则表达式,以下用RE称号)对小弟来讲一向都是神密的地带,看到一些收集上的大大,复杂用RE就决解了某些文字的成绩,小弟便衰亡了学一学RE的设法,但小弟生成就对照懒一些,总但愿看有无些疾速进修的体例,因而小弟又请出Google大神,藉由k的神力,小弟在收集上找到了Jim Hollenhorst师长教师的文章,经由了浏览,小弟感觉真是不错,所以就做个当心得呈报,跟Move-to.Net的伴侣分享,但愿能为列位大大带来一丁点在进修RE时的匡助。Jim Hollenhorst大大文章之网址以下,有需求的大大可直接保持。

  The 30 Minute Regex Tutorial By Jim Hollenhorst

  http://www.codeproject.com/useritems/RegexTutorial.asp

  甚么是RE?
  想必列位大大在做文件查找的时侯都有利用过万用字符”*”,好比说想查找在Windows目次下一切的Word文件时,你能够就会用”*.doc”如许的体例来做查找,由于”*”所代表的是恣意的字符。RE所做的就是相似如许的功效,但其功效更加壮大。

  写法式时,常需求比对字符串是不是合适特定款式,RE最次要的功效就是来描写这特定的款式,因而可以将RE视为特定款式的描写式,举个例子来讲,”\w+”所代表的就是任何字母与数字所构成的非空字符串(non-null string)。在.NET framework中供应了十分壮大的种别库,藉此可以很等闲的利用RE来做文字的查找与代替、对庞杂标头的译码及验证文字等任务。

  进修RE最好的体例就是藉由例子亲身来做做看。Jim Hollenhorst大大也供应了一个东西法式Expresso(来杯咖啡吧),来匡助咱们进修RE,下载的网址是http://www.codeproject.com/useritems/RegexTutorial/ExpressoSetup2_1C.zip

  接上去,就让咱们来体验一些例子吧。

  一些复杂的例子
  假定要查找文章中Elvis后接有alive的文字符串的话,利用RE能够会经由以下的进程,括号是所下RE的意思:

  1. elvis (查找elvis)

  上述代表所要查找的字符按次为elvis。在.NET中可以设定乎略字符的巨细写,所以”Elvis”、”ELVIS”或是”eLvIs”都是合适1所下的RE。但由于这尽管字符呈现的按次为elvis,所以pelvis也是合适1所下的RE。可以用2的RE来改善。

  2. \belvis\b (将elvis视为一全体的字查找,如elvis、Elvis乎略字符巨细写时)
“\b”在RE中有出格的意思,在上述的例子中所指的就是字的界限,所以\belvis\b用\b把elvis的前后界限界定出来,也就是要elvis这个字。

  假定要将统一行里elvis后接有alive的文字符串找出来,此时就会用到别的二个出格意义的字符”.”及”*”。”.”所代表就是除换行字符的恣意字符,而”*”所代表的是反复*之前项目直到找到合适RE的字符串。所以”.*”所指的就是除换行字符外的恣意数量的字符数。所以查找统一行里elvis后接有alive的文字符串找出来,则可下如3之RE。

  3. \belvis\b.*\balive\b (查找elvis前面接有alive的文字符串,如elvis is alive)

  用复杂之出格字符就能够构成功效壮大的RE,但也发明当利用愈来愈多的出格字符时,RE就会愈来愈好看得懂了。


再看看别的的例子
  构成无效的德律风号码

  倘若要从网页上搜集顾客格局为xxx-xxxx的7位数字的德律风号码,个中x是数字,RE能够会如许写。

  4. \b\d\d\d-\d\d\d\d (查找七位数字之德律风号码,如123-1234)
  每个\d代表一个数字。”-”则是普通的连字符号,为防止太多反复的\d,RE可以改写成如5的体例。

  5. \b\d{3}-\d{4} (查找七位数字德律风号码较好的办法,如123-1234)
  在\d后的{3},代表反复前一个项目三次,也就是相等于\d\d\d。

  RE的进修及测试东西 Expresso

  由于RE不容易浏览及利用者轻易会下错RE的特征,Jim大大开辟了一个东西软件Expresso,用来匡助利用者进修及测试RE,除下面所述的网址以外,也能够上Ultrapico网站(http://www.Ultrapico.com)。装置完Expresso后,在Expression Library中,Jim大大把文章的例子都创立在个中,可以边看文章边测试,也能够试着修正典范所下的RE,即刻可以看到了局,小弟感觉十分好用。列位大大可以尝尝。

  .NET中RE的基本概念
  特别字符

  有些字符有出格的意义,好比之前所看到的”\b”、”.”、”*”、”\d”等。”\s”所代表的是恣意空格符,好比说spaces、tabs、newlines等.。”\w”代表是恣意字母或数字字符。

  再看一些例子吧
  6. \ba\w*\b (查找a开首的字,如able)
  这RE描写要查找一个字的入手下手界限(\b),再来是字母”a”,再加恣意数量的字母数字(\w*),再接停止这个字的停止界限(\b)。

  7. \d+ (查找数字字符串)
  “+”和”*”十分类似,除+最少要反复后面的项目一次。也就是说最少有一个数字。

  8. \b\w{6}\b (查找六个字母数字的字,如ab123c)

  下表为RE经常使用的特别字符

  . 除换行字符的恣意字符
  \w 恣意字母数字字符
  \s 恣意空格符
  \d 恣意数字字符
  \b 界定字的界限
  ^ 文章的开首,如”^The'' 用以暗示呈现于文章开首的字符串为”The”
  $ 文章的开头,如”End$”用以暗示呈现在文章的开头为”End”
  特别字符”^”及”$”是用来查找某些字必须是文章的开首或开头,这在验证输出是不是合适某一款式时出格用有,好比说要验证七位数字的德律风号码,能够会输出以下9的RE。

  9. ^\d{3}-\d{4}$ (验证七位数字之德律风号码)

  这和第5个RE不异,但其前后都无其它的字符,也就是整串字符串只要这七个数字的德律风号码。在.NET中假如设定Multiline这个选项,则”^”和”$”会每行停止对照,只需某行的开首开头合适RE便可,而不是全部文章字符串做一次对照。

  回心字符(Escaped characters)

  有时能够会需求”^”、”$”纯真的字面意义(literal meaning)而不要将它们当做特别字符,此时”\”字符就是用来移除特别字符出格意义的字符,因而”\^”、”\.”、”\\”所代表的就是”^”、”.”、”\”的字面意义。

  反复前述项目

  在后面看过”{3}”及”*”可以用来反复前述字符,以后咱们会看到若何用一样的语法反复全部次描写(subexpressions)。下表是利用反复前述项目标一些体例。

  * 反复恣意次数
  + 反复最少一次
  ? 反复零次或一次
  {n} 反复n次
  {n,m} 反复最少n次,但不超越m次
  {n,} 反复最少n次

  再来试一些例子吧

  10. \b\w{5,6}\b (查找五个或六个字母数字字符的字,如as25d、d58sdf等)
  11. \b\d{3}\s\d{3}-\d{4} (查找十个数字的德律风号码,如800 123-1234)
  12. \d{3}-\d{2}-\d{4} (查找社会保险号码,如 123-45-6789)
  13. ^\w* (每行或整篇文章的第一个字)
  在Espresso可尝尝有Multiline和没Multiline的分歧。

  婚配某局限的字符

  有时需求查找某些特定的字符时怎样辨?这时候中括号”[]”就派上了用处。因而[aeiou]所要查找的是”a”、”e”、”i”、”o”、”u”这些元音,[.?!]所要查找的是”.”、”?”、”!”这些符号,在中括号中的特别字符的出格意义城市被移除,也就是解译成纯真的字面意义。也能够指定某些局限的字符,如”[a-z0-9]”,所指的就是恣意小写字母或恣意数字。

  接上去再看一个对照初庞杂查找德律风号码的RE例子

  14. \(?\d{3}[( ] \s?\d{3}[- ]\d{4} (查找十位数字之德律风号码,如(080) 333-1234 )

  如许的RE可查找出较多种格局的德律风号码,如(080) 123-4567、511 254 6654等。”\(?”代表一个或零个左小括号”(“,而”[( ]”代表查找一个右小括号”)”或空格符,”\s?”指一个或零个空格符组。但如许的RE会将相似”800) 45-3321”如许的德律风找出来,也就是括号没有对称均衡的成绩,以后会学到择一(alternatives)来决解如许的成绩。

  不包括在某特定字符组里(Negation)

  有时需求查找在包括在某特定字符组里的字符,下表申明若何做相似如许的描写。

  \W 不是字母数字的恣意字符
  \S 不是空格符的恣意字符
  \D 不是数字字符的恣意字符
  \B 不在字界限的地位
  [^x] 不是x的恣意字符
  [^aeiou] 不是a、e、i、o、u的恣意字符

  15. \S+ (不包括空格符的字符串)

  择一(Alternatives)

  有时会需求查找几个特定的选择,此时”|”这个特别字符就派上用处了,举例来讲,要查找五个数字及九个数字(有”-”号)的邮政编码。

  16. \b\d{5}-\d{4}\b|\b\d{5}\b (查找五个数字及九个数字(有”-”号)的邮政编码)

  在利用Alternatives时需求注重的是前后的次第,由于RE在Alternatives中会优先选择合适最右边的项目,16中,假如把查找五个数字的项目放在后面,则这RE只会找到五个数字的邮政编码。懂得了择一,可将14做更好的修改。

  17. (\(\d{3}\)|\d{3})\s?\d{3}[- ]\d{4} (十个数字的德律风号码)

  群组(Grouping)

  括号可以用来介定一个次描写,经过次描写的介定,可以针对次描写做反复或及他的处置。

  18. (\d{1,3}\.){3}\d{1,3} (寻觅收集地址的复杂RE)

  此RE的意思第一个局部(\d{1,3}\.){3},所指的是,数字最小一名最多三位,而且前面接有”.”符号,此类型的共有三个,以后再接一到三位的数字,也就是如192.72.28.1如许的数字。

  但如许会有个弱点,由于收集地址数字最多只到255,但上述的RE只需是一到三位的数字都是合适的,所以这需求让对照的数字小于256才行,但只独自利用RE并没有法做如许的对照。在19中利用择一来将地址的限制在所需求的局限内,也就是0到255。

  19. ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) (寻觅收集地址)

  有无觉察RE愈来愈像外星人说的话了?就以复杂的寻觅收集地址,直接看RE都满难了解的哩。

  Expresso Analyzer View

  Expresso供应了一个功效,它可以将所下的RE酿成树状的申明,一组组的分隔申明,供应了一个好的除错情况。其它的功效,如局部合适(Partial Match只查找反白RE的局部)及除外合适(Exclude Match只不查找反白RE的局部)就留给列位大大尝尝

  当次描写用括号群组起来时,合适次描写的文字可用在以后的法式处置或RE自己。在预设的情型下,所合适的群组是由数字定名,由1入手下手,由按次是由左至右,这主动群组定名,可在Expresso中的skeleton view或result view中看到。

  Backreference是用来查找群组中抓取的合适文字所不异的文字。举例来讲”\1”所指合适群组1所抓取的文字。

  20. \b(\w+)\b\s*\1\b (寻觅反复字,此处说的反复是指一样的字,两头有空白离隔如dog dog如许的字)
(\w+)会抓取最少一个字符的字母或数字的字,并将它定名为群组1,以后是查找恣意空格符,再接和群组1不异的文字。

  假如不喜好群组主动定名的1,也能够自行定名,以上述例子为例,(\w+)改写为(?<Word>\w+),这就是将所抓取的群组定名为Word,Backreference就要改写成为\k<Word>
21. \b(?<Word>\w+)\b\s*\k<Word>\b (利用自行定名群组抓取反复字)

  利用括号还有很多出格的语法元素,对照通用的列表以下:

  抓取(Captures)
  (exp) 合适exp并抓取它进主动定名的群组
  (?<name>exp) 合适exp并抓取它进定名的群组name
  (?:exp) 合适exp,不抓取它
  Lookarounds
  (?=exp) 合适字尾为exp的文字
  (?<=exp) 合适前缀为exp的文字
  (?!exp) 合适前面没接exp字尾的文字
  (?<!exp) 合适后面没接exp前缀的文字
  批注Comment
  (?#comment) 批注

  Positive Lookaround

  接上去要谈的是lookahead及lookbehind assertions。它们所查找的是今朝合适之前或以后的文字,其实不包括今朝合适自己。这些就好像”^”及”\b”特别字符,自己其实不会对应任何文字(用来界定地位),也因而称做是zero-width assertions,看些例子或许会清晰些。

  (?=exp)是一个”zero-width positive lookahead assertion”。它指的就是合适字尾为exp的文字,但不包括exp自己。

  22. \b\w+(?=ing\b) (字尾为ing的字,好比说filling所合适的就是fill)
(?<=exp)是一个”zero-width positive lookbehind assertion”。它指的就是合适前缀为exp的文字,但不包括exp自己。

  23. (?<=\bre)\w+\b (前缀为re的字,好比说repeated所合适的就是peated)
  24. (?<=\d)\d{3}\b (在字尾的三位数字,且之前接一名数字)
  25. (?<=\s)\w+(?=\s) (由空格符分离隔的字母数字字符串)

  Negative Lookaround

  之前有提到,若何查找一个非特定或非在特定群组的字符。但假如只是要验证某字符不存在而不要对应这些字符出去呢?举个例子来讲,假定要查找一个字,它的字母里有q但接上去的字母不是u,可以用以下的RE来做。

  26. \b\w*q[^u]\w*\b (一个字,其字母里有q但接上去的字母不是u)

  如许的RE会有一个成绩,由于[^u]要对应一个字符,所以若q是字的最初一个字母,[^u]如许的下法就会将空格符对应下去,了局就有能够会合适二个字,好比说”Iraq haha”如许的文字。利用Negative Lookaround就可以处理如许的成绩。

  27. \b\w*q(?!u)\w*\b (一个字,其字母里有q但接上去的字母不是u)
  这是”zero-width negative lookahead assertion”。

  28. \d{3}(?!\d) (三个位的数字,厥后不接一个位数字)

  一样的,可使用(?<!exp),”zero-width negative lookbehind assertion”,来合适后面没接exp前缀的文字符串。

  29. (?<![a-z ])\w{7} (七个字母数字的字符串,其后面没接字母或空格)

  30. (?<=<(\w+)>).*(?=<\/\1>) (HTML卷标间的文字)
  这利用lookahead及lookbehind assertion来掏出HTML间的文字,不包含HTML卷标。

  请批注(Comments Please)
  括号还有个特别的用处就是用来包住批注,语法为”(?#comment)”,若设定”Ignore Pattern Whitespace”选项,则RE中的空格符当RE利用时会乎略。此选项设准时,”#”以后的文字会乎略。

  31. HTML卷标间的文字,加上批注

  (?<=   #查找前缀,但不包括它
  <(\w+)> #HTML标签
  )       #停止查找前缀
  .*      #合适任何文字
  (?=     #查找字尾,但不包括它
  <\/\1>  #合适所抓取群组1之字符串,也就是后面小括号的HTML标签
  )       #停止查找字尾

  寻觅最多字符的字及起码字符的字(Greedy and Lazy)
  当RE下要查找一个局限的反复时(如”.*”),它凡是会寻觅最多字符的合适字,也就是Greedy matching。举例来讲。

  32. a.*b  (入手下手为a停止为b的最多字符的合适字)

  如有一字符串是”aabab”,利用上述RE所失掉的合适字符串就是”aabab”,由于这是寻觅最多字符的字。有时但愿是合适起码字符的字也就是lazy matching。只需将反复前述项目标表加上问号(?)就能够把它们全体酿成lazy matching。因而”*?”代表的就是反复恣意次数,然而利用起码反复的次数来合适。举个例子来讲:

  33. a.*?b (入手下手为a停止为b的起码字符的合适字)

  如有一字符串是”aabab”,利用上述RE第一个所失掉的合适字符串就是”aab”再来是”ab”,由于这是寻觅起码字符的字。

  *? 反复恣意次数,起码反复次数为准绳
  +? 反复最少一次,起码反复次数为准绳
  ?? 反复零次或一次,起码反复次数为准绳
  {n,m}? 反复最少n次,但不超越m次,起码反复次数为准绳
  {n,}? 反复最少n次,起码反复次数为准绳

还有甚么没提到呢?

  到今朝为止,已提到了很多创立RE的元素,固然还有很多元素没有提到,下表收拾整顿了一些没提到的元素,在最右边的字段的数字是申明在Expresso中的例子。

  # 语法 申明

  \a Bell 字符
  \b 凡是是指字的界限,在字符组里所代表的就是backspace
  \t Tab

  34 \r Carriage return

  \v Vertical Tab
  \f From feed

  35 \n New line
  \e Escape

  36 \nnn ASCII八位码为nnn的字符

  37 \xnn 十六位码为nn的字符

  38 \unnnn Unicode为nnnn的字符

  39 \cN Control N字符,举例来讲Ctrl-M是\cM

  40 \A 字符串的入手下手(和^类似,但不需籍由multiline选项)

  41 \Z 字符串的开头
  \z 字符串的开头

  42 \G 今朝查找的入手下手

  43 \p{name} Unicode 字符组称号为name的字符,好比说\p{Lowercase_Letter} 所指的就是小写字
  (?>exp) Greedy次描写,又称之为non-backtracking次描写。这只合适一次且不采backtracking。

  44 (?<x>-<y>exp)

  or (?-<y>exp) 均衡群组。虽庞杂但好用。它让已定名的抓取群组可以在仓库中操作利用。(小弟对这个也是不太懂哩)

  45 (?im-nsx:exp) 为次描写exp更改RE选项,好比(?-i:Elvis)就是把Elvis大乎略巨细写的选项关失落

  46 (?im-nsx) 为以后的群组更改RE选项。
  (?(exp)yes|no) 次描写exp视为zero-width positive lookahead。若此时有合适,则yes次描写为下一个合适标的,若否,则no 次描写为下一个合适标的。
  (?(exp)yes) 和上述不异但无no次描写
  (?(name)yes|no) 若name群组为无效群组称号,则yes次描写为下一个合适标的,若否,则no 次描写为下一个合适标的。

  47 (?(name)yes) 和上述不异但无no次描写

  结论
  经由了连续串的例子,及Expresso的协助,信任列位大大对RE有个根基的懂得,收集受骗然有很多有关于RE的文章,假如列位大大有乐趣http://www.codeproject.com 还有很多关于RE的相干文章。若大大对书有乐趣的话,Jeffrey Friedl的Mastering Regular Expressions良多大大都有推(小弟还没拜读)。但愿籍由如许的心得呈报,能让对RE有乐趣的大大能延长进修曲线,固然这是小弟第一次接触RE,若文章中有甚么毛病或申明的欠好的中央,可要请列位大大谅解,并请列位大上将需求修改的中央mail给小弟,小弟会十分感激列位大大。
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
再现理想 该用户已被删除
沙发
发表于 2015-2-4 00:04:52 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
若天明 该用户已被删除
板凳
发表于 2015-2-4 20:13:49 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
乐观 该用户已被删除
地板
发表于 2015-2-8 15:42:58 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
分手快乐 该用户已被删除
5#
发表于 2015-2-19 05:32:30 | 只看该作者
掌握asp的特性而且一定要知道为什么。
海妖 该用户已被删除
6#
 楼主| 发表于 2015-3-6 13:15:01 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
若相依 该用户已被删除
7#
发表于 2015-3-7 06:54:46 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
第二个灵魂 该用户已被删除
8#
发表于 2015-3-10 00:49:26 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
活着的死人 该用户已被删除
9#
发表于 2015-3-11 14:27:24 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
蒙在股里 该用户已被删除
10#
发表于 2015-3-15 21:51:30 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-20 14:35:37 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
愤怒的大鸟 该用户已被删除
12#
发表于 2015-3-29 14:41:48 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
金色的骷髅 该用户已被删除
13#
发表于 2015-4-5 05:08:43 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
飘飘悠悠 该用户已被删除
14#
发表于 2015-4-14 00:10:54 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
小女巫 该用户已被删除
15#
发表于 2015-4-15 20:36:31 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
简单生活 该用户已被删除
16#
发表于 2015-4-15 22:25:49 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
冷月葬花魂 该用户已被删除
17#
发表于 2015-4-16 03:57:45 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
飘灵儿 该用户已被删除
18#
发表于 2015-4-16 07:52:05 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
老尸 该用户已被删除
19#
发表于 2015-4-16 09:15:56 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
兰色精灵 该用户已被删除
20#
发表于 2015-5-1 18:09:30 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 09:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表