|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。微软|正则限制符
偶然候不晓得要婚配几字符。为了能顺应这类不断定性,正则表达式撑持限制符的观点。这些限制符能够指定正则表达式的一个给定组件必需要呈现几次才干满意婚配。
下表给出了各类限制符及其寄义的申明:
字符形貌
*婚配后面的子表达式零次或屡次。比方,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?。请注重在逗号和两个数之间不克不及有空格。
对一个很年夜的输出文档而言,章节数很容易就凌驾九章,因而必要有一种办法来处置两位数大概三位数的章节号。限制符就供应了这个功效。上面的VisualBasicScriptingEdition正则表达式能够婚配具有任何位数的章节题目:
/Chapter[1-9][0-9]*/
上面的VBScript正则表达式实行一样的婚配:
"Chapter[1-9][0-9]*"
请注重限制符呈现在局限表达式以后。因而,它将使用于所包括的全部局限表达式,在本例中,只指定了从0到9的数字。
这里没有利用+限制符,由于第二位或后续地位上其实不必定必要一个数字。一样也没有利用?字符,由于这将把章节数限定为只要两位数字。在Chapter和空格字符以后最少要婚配一个数字。
假如已知章节数限定只要99章,则可使用上面的VisualBasicScriptingEdition表达式来指定最少有一名数字,但不凌驾两个数字。
/Chapter[0-9]{1,2}/
对VBScript可使用下述正则表达式:
"Chapter[0-9]{1,2}"
上述表达式的弱点是假如有一个章节号年夜于99,它仍只会婚配前两位数字。另外一个弱点是某些人能够创立一个Chapter0,并且仍能婚配。一个更好的用来婚配两位数的VisualBasicScriptingEdition表达式以下:
/Chapter[1-9][0-9]?/
大概
/Chapter[1-9][0-9]{0,1}/
对VBScript而言,下述表达式与下面等价:
"Chapter[1-9][0-9]?"
大概
"Chapter[1-9][0-9]{0,1}"
*、+和?限制符都称之为贪心的,也就是说,他们尽量多地婚配笔墨。偶然这基本就不是所但愿产生的情形。偶然则恰好但愿最小婚配。
比方,你大概要搜刮一个HTML文档来查找一处包括在H1标志中的章节题目。在文档中该笔墨大概具有以下情势:
<H1>Chapter1CIntroductiontoRegularExpressions</H1>
上面的表达式婚配从入手下手的小于号(<)到H1标志停止处的年夜于号之间的一切内容。
/<.*>/
VBScript的正则表达式为:
"<.*>"
假如所要婚配的就是入手下手的H1标志,则下述非贪心地表达式就只婚配<H1>。
/<.*?>/
大概
"<.*?>"
经由过程在*、+或?限制符后安排?,该表达式就从贪心婚配转为了非贪心或最小婚配。
</p>问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|