萌萌妈妈 发表于 2015-1-16 22:34:10

ASP.NET网页编程之[C#]关于正则表达式

捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。正则
  将下一个字符标志为一个特别字符、或一个原义字符、或一个后向援用、或一个八进制本义符。比方,n婚配字符"n"。
婚配一个换行符。序列婚配""而"("则婚配"("。

^
  婚配输出字符串的入手下手地位。假如设置了RegExp工具的Multiline属性,^也婚配
或以后的地位。

$
  婚配输出字符串的停止地位。假如设置了RegExp工具的Multiline属性,$也婚配
或之前的地位。

*
  婚配后面的子表达式零次或屡次。比方,zo*能婚配"z"和"zoo"。*等价于{0,}。

+
  婚配后面的子表达式一次或屡次。比方,zo+能婚配"zo"和"zoo",但不克不及婚配"z"。+等价于{1,}。

?
  婚配后面的子表达式零次或一次。比方,"do(es)?"能够婚配"do"或"does"中的"do"。?等价于{0,1}。

{n}
  n是一个非负整数。婚配断定的n次。比方,o{2}不克不及婚配"Bob"中的o,可是能婚配"food"中的两个o。

{n,}
  n是一个非负整数。最少婚配n次。比方,o{2,}不克不及婚配"Bob"中的o,但能婚配"foooood"中的一切o。o{1,}等价于o+。o{0,}则等价于o*。

{n,m}
  m和n均为非负整数,个中n<=m。起码婚配n次且最多婚配m次。"o{1,3}"将婚配"fooooood"中的前三个o。o{0,1}等价于o?。请注重在逗号和两个数之间不克不及有空格。

?
  当该字符紧跟在任何一个其他限定符(*,+,?,{n},{n,},{n,m})前面时,婚配形式长短贪心的。非贪心形式尽量少的婚配所搜刮的字符串,而默许的贪心形式则尽量多的婚配所搜刮的字符串。比方,关于字符串"oooo",o+?将婚配单个"o",而o+将婚配一切o。

.
  婚配除"
"以外的任何单个字符。要婚配包含
在内的任何字符,请利用象[.
]的形式。

(pattern)
  婚配pattern并猎取这一婚配。所猎取的婚配能够从发生的Matches汇合失掉,在VBScript中利用SubMatches汇合,在VisualBasicScriptingEdition中则利用$0…$9属性。要婚配圆括号字符,请利用(或)。

(?:pattern)
  婚配pattern但不猎取婚配了局,也就是说这是一个非猎取婚配,不举行存储供今后利用。这在利用"或"字符(|)来组合一个形式的各个部分是很有效。比方,industr(?:y|ies)就是一个比industry|industries更大略的表达式。

(?=pattern)
  正向预查,在任何婚配pattern的字符串入手下手处婚配查找字符串。这是一个非猎取婚配,也就是说,该婚配不必要猎取供今后利用。比方,Windows(?=95|98|NT|2000)能婚配"Windows2000"中的"Windows",但不克不及婚配"Windows3.1"中的"Windows"。预查不用耗字符,也就是说,在一个婚配产生后,在最初一次婚配以后当即入手下手下一次婚配的搜刮,而不是从包括预查的字符以后入手下手。

(?!pattern)
  负向预查,在任何不婚配Negativelookaheadmatchesthesearchstringatanypointwhereastringnotmatchingpattern的字符串入手下手处婚配查找字符串。这是一个非猎取婚配,也就是说,该婚配不必要猎取供今后利用。比方Windows(?!95|98|NT|2000)能婚配"Windows3.1"中的"Windows",但不克不及婚配"Windows2000"中的"Windows"。预查不用耗字符,也就是说,在一个婚配产生后,在最初一次婚配以后当即入手下手下一次婚配的搜刮,而不是从包括预查的字符以后入手下手

x|y
  婚配x或y。比方,z|food能婚配"z"或"food"。(z|f)ood则婚配"zood"或"food"。


  字符汇合。婚配所包括的恣意一个字符。比方,能够婚配"plain"中的a。

[^xyz]
  负值字符汇合。婚配未包括的恣意字符。比方,[^abc]能够婚配"plain"中的p。


  字符局限。婚配指定局限内的恣意字符。比方,能够婚配a到z局限内的恣意小写字母字符。

[^a-z]
  负值字符局限。婚配任何不在指定局限内的恣意字符。比方,[^a-z]能够婚配任何不在a到z局限内的恣意字符。


  婚配一个单词界限,也就是指单词和空格间的地位。比方,er能够婚配"never"中的er,但不克不及婚配"verb"中的er。

B
  婚配非单词界限。erB能婚配"verb"中的er,但不克不及婚配"never"中的er。

cx
  婚配由x指明的把持字符。比方,cM婚配一个Control-M或回车符。x的值必需为A-Z或a-z之一。不然,将c视为一个原义的c字符。

d
  婚配一个数字字符。等价于。

D
  婚配一个非数字字符。等价于[^0-9]。

f
  婚配一个换页符。等价于x0c和cL。



  婚配一个换行符。等价于x0a和cJ。


  婚配一个回车符。等价于x0d和cM。

s
  婚配任何空缺字符,包含空格、制表符、换页符等等。等价于[f
        v]。

S
  婚配任何非空缺字符。等价于[^f
        v]。

       
  婚配一个制表符。等价于x09和cI。

v
  婚配一个垂直制表符。等价于x0b和cK。

w
  婚配包含下划线的任何单词字符。等价于。

W
  婚配任何非单词字符。等价于[^A-Za-z0-9_]。

xn
  婚配n,个中n为十六进制本义值。十六进制本义值必需为断定的两个数字长。比方,x41婚配"A"。x041则等价于x04&"1"。正则表达式中可使用ASCII编码。.


um
  婚配num,个中num是一个正整数。对所猎取的婚配的援用。比方,(.)1婚配两个一连的不异字符。



  标识一个八进制本义值或一个后向援用。假如
之前最少n个猎取的子表达式,则n为后向援用。不然,假如n为八进制数字(0-7),则n为一个八进制本义值。


m
  标识一个八进制本义值或一个后向援用。假如
m之前最少有isprecededbyatleastnm个猎取得子表达式,则nm为后向援用。假如
m之前最少有n个猎取,则n为一个后跟笔墨m的后向援用。假如后面的前提都不满意,若n和m均为八进制数字(0-7),则
m将婚配八进制本义值nm。


ml
  假如n为八进制数字(0-3),且m和l均为八进制数字(0-7),则婚配八进制本义值nml。

un
  婚配n,个中n是一个用四个十六进制数字暗示的Unicode字符。比方,u00A9婚配版权标记(?)。
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。

若天明 发表于 2015-1-19 16:52:10

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

因胸联盟 发表于 2015-1-24 16:23:51

Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境!

冷月葬花魂 发表于 2015-2-2 10:45:15

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

金色的骷髅 发表于 2015-2-7 18:07:08

asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源

小妖女 发表于 2015-2-22 20:22:11

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

谁可相欹 发表于 2015-3-7 02:59:30

可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。

山那边是海 发表于 2015-3-14 10:10:47

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

仓酷云 发表于 2015-3-21 02:36:58

Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
页: [1]
查看完整版本: ASP.NET网页编程之[C#]关于正则表达式