[ASP]RegExp对象提供简单的正则表达式支持功能使用说明

RegExp对象的用法: 
 RegExpTest(patrn, strng) 
Dim regEx, Match, Matches ' 建立变量。 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = True ' 设置是否区分字符大小写。 
regEx.Global = True ' 设置全局可用性。 
Set Matches = regEx.Execute(strng) ' 执行搜索。 
For Each Match in Matches ' 遍历匹配集合。 
RetStr = RetStr & "Match found at position " 
RetStr = RetStr & Match.FirstIndex & ". Match  is '" 
RetStr = RetStr & Match. & "'." & vbCRLF 
Next 
RegExpTest = RetStr 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

  RegExp 对象的属性

  ◎ Global属性

  Global属性设置或返回一个 Boolean 值,该值指明在整个搜索字符串时模式是全部匹配还是只匹配第一个。 
  语法 
object.Global [= True | False ] 
  object 参数总是 RegExp 对象。如果搜索应用于整个字符串,Global 属性的值为 True,否则其值为 False。默认的设置为 True。

  Global 属性的用法(改变赋予 Global 属性的值并观察其效果): 
 RegExpTest(patrn, strng) 
Dim regEx ' 建立变量。 
Set regEx = New RegExp ' 建立规范表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = True ' 设置是否区分字母的大小写。 
regEx.Global = True ' 设置全程性质。 
RegExpTest = regEx.Execute(strng) ' 执行搜索。 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

  ◎ IgnoreCase属性

  IgnoreCase属性设置或返回一个Boolean值,指明模式搜索是否区分大小写。 
  语法 
object.IgnoreCase [= True | False ] 
  object 参数总是一个 RegExp 对象。如果搜索是区分大小写的,则 IgnoreCase 属性为 False;否则为 True。缺省值为 True。

  IgnoreCase 属性的用法(改变赋予 IgnoreCase 属性的值以观察其效果): 
 RegExpTest(patrn, strng) 
Dim regEx ' 建立变量。 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = True ' 设置是否区分大小写。 
RegExpTest = regEx.Execute(strng) ' 执行搜索。 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

  ◎ Pattern属性

  Pattern属性设置或返回被搜索的正则表达式模式。 
  语法 
object.Pattern [= "searchstring"] 
Pattern 属性的语法包含以下几个部分:

  语法说明: 
object 必需的。总是一个 RegExp 对象变量。 
searchstring 可选的。被搜索的正则字符串表达式。它可能包含设置部分表格中的各种正则表达式字符。

  设置 
  在书写正则表达式的模式时使用了特殊的字符和序列。下面描述了可以使用的字符和序列,并给出了实例。 
 \ 将下一个字符标记为特殊字符或字面值。例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\\"与"\"匹配对面,"\("与"("匹配。 
 ^ 匹配输入的开始位置。 
 $ 匹配输入的结尾。 
 * 匹配前一个字符零次或几次。例如,"zo*"可以匹配"z"、"zoo"。 
 + 匹配前一个字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。 
 ? 匹配前一个字符零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。 
 . 匹配换行符以外的任何字符。 
 (pattern) 与模式匹配并记住匹配。匹配的子字符串可以从作为结果的 Matches 集合中使用 Item [0]...[n]取得。如果要匹配括号字符(和 ),可使用"\(" 或 "\)"。 
 x|y 匹配 x 或 y。例如 "z|food" 可匹配 "z" 或 "food"。"(z|f)ood" 匹配 "zoo" 或 "food"。 
 {n} n 为非负的整数。匹配恰好n次。例如,"o{2}" 不能与 "Bob 中的 "o" 匹配,但是可以与"foooood"中的前两个o匹配。 
 {n,} n 为非负的整数。匹配至少n次。例如,"o{2,}"不匹配"Bob"中的"o",但是匹配"foooood"中所有的o。"o{1,}"等价于"o+"。"o{0,}"等价于"o*"。 
 {n,m} m 和 n 为非负的整数。匹配至少 n 次,至多 m 次。例如,"o{1,3}" 匹配 "fooooood"中前三个o。"o{0,1}"等价于"o?"。 
 [xyz] 一个字符集。与括号中字符的其中之一匹配。例如,"[abc]" 匹配"plain"中的"a"。 
 [^xyz] 一个否定的字符集。匹配不在此括号中的任何字符。例如,"[^abc]" 可以匹配"plain"中的"p". 
 [a-z] 表示某个范围内的字符。与指定区间内的任何字符匹配。例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。 
 [^m-z] 否定的字符区间。与不在指定区间内的字符匹配。例如,"[m-z]"与不在"m"到"z"之间的任何字符匹配。 
 \b 与单词的边界匹配,即单词与空格之间的位置。例如,"er\b" 与"never"中的"er"匹配,但是不匹配"verb"中的"er"。 
 \B 与非单词边界匹配。"ea*r\B"与"never early"中的"ear"匹配。 
 \d 与一个数字字符匹配。等价于[0-9]。 
 \D 与非数字的字符匹配。等价于[^0-9]。 
 \f 与分页符匹配。 
 \n 与换行符字符匹配。 
 \r 与回车字符匹配。 
 \s 与任何白字符匹配,包括空格、制表符、分页符等。等价于"[ \f\n\r\t\v]"。 
 \S 与任何非空白的字符匹配。等价于"[^ \f\n\r\t\v]"。 
 \t 与制表符匹配。 
 \v 与垂直制表符匹配。 
 \w 与任何单词字符匹配,包括下划线。等价于"[A-Za-z0-9_]"。 
 \W 与任何非单词字符匹配。等价于"[^A-Za-z0-9_]"。 
 \num 匹配 num个,其中 num 为一个正整数。引用回到记住的匹配。例如,"(.)\1"匹配两个连续的相同的字符。 
 \n 匹配 n,其中n 是一个八进制换码值。八进制换码值必须是 1, 2 或 3 个数字长。例如,"\11" 和 "\011" 都与一个制表符匹配。"\0011"等价于"\001" 与 "1"。八进制换码值不得超过 256。否则,只有前两个字符被视为表达式的一部分。允许在正则表达式中使用ASCII码。 
 \xn 匹配n,其中n是一个十六进制的换码值。十六进制换码值必须恰好为两个数字长。例如,"\x41"匹配"A"。"\x041"等价于"\x04" 和 "1"。允许在正则表达式中使用 ASCII 码。

  Pattern 属性的用法: 
 RegExpTest(patrn, strng) 
Dim regEx ' 建立变量。 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = True ' 设置是否区分大小写。 
RegExpTest = regEx.Execute(strng) ' 执行搜索。 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

  RegExp对象的方法

  ◎ Execute方法

  Execute方法对指定的字符串执行正则表达式搜索。 
  语法 
object.Execute(string) 
  语法部分描述 
object 必需的。总是一个 RegExp 对象的名称。 
string 必需的。要在其上执行正则表达式的文本字符串。

  说明 
  正则表达式搜索的设计模式是通过 RegExp 对象的 Pattern 来设置的。 
  Execute 方法返回一个 Matches 集合,其中包含了在 string 中找到的每一个匹配的 Match 对象。如果未找到匹配,Execute 将返回空的 Matches 集合。

  Execute 方法的用法: 
 RegExpTest(patrn, strng) 
Dim regEx ' 建立变量。 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = False ' 设置区分大小写。 
regEx.Global = True ' 搜索全部匹配。 
RegExpTest = regEx.Execute(strng) ' 执行搜索。 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

  ◎ Replace方法

  Replace方法替换在正则表达式查找中找到的文本。 
  语法 
object.Replace(string1, string2) 
  语法部分描述 
object 必需的。总是一个 RegExp 对象的名称。 
string1 必需的。string1 是将要进行文本替换的字符串。 
string2 必需的。 string2 是替换文本字符串。

  说明 
  被替换的文本的实际模式是通过 RegExp 对象的 Pattern 属性设置的。 
  Replace 方法返回 string1 的副本,其中的 RegExp.Pattern 文本已经被替换为 string2。如果没有找到匹配的文本,将返回原来的 string1 的副本。

  eplace 方法的用法: 
 ReplaceTest(patrn, replStr) 
Dim regEx, str1 ' 建立变量。 
str1 = "The quick brown fox jumped over the lazy dog." 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = True ' 设置是否区分大小写。 
ReplaceTest = regEx.Replace(str1, replStr) ' 作替换。 
End

MsgBox(ReplaceTest("fox", "cat")) 
' 将 'fox' 替换为 'cat'。

;另外,Replace 方法在模式中替换 subexpressions 。 下面对以前示例中函数的调用,替换了原字符串中的所有字对: 
MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1")) ' Swap pairs of words.

  ◎ Test方法

  Test方法对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否找到匹配的模式。 
  语法 
object.Test(string) 
  语法部分描述 
object 必需的。总是一个 RegExp 对象的名称。 
string 必需的。要执行正则表达式搜索的文本字符串。

说明 
  正则表达式搜索的实际模式是通过RegExp对象的Pattern属性来设置的。RegExp.Global属性对Test方法没有影响。 
  如果找到了匹配的模式,Test方法返回True;否则返回False。

  Test 方法的用法: 
 RegExpTest(patrn, strng) 
Dim regEx, retVal ' 建立变量。 
Set regEx = New RegExp ' 建立正则表达式。 
regEx.Pattern = patrn ' 设置模式。 
regEx.IgnoreCase = False ' 设置是否区分大小写。 
retVal = regEx.Test(strng) ' 执行搜索测试。 
If retVal Then 
RegExpTest = "找到一个或多个匹配。" 
Else 
RegExpTest = "未找到匹配。" 
End If 
End

MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

00000

(0)

相关推荐

  • js正则表达式之RegExp对象属性lastIndex,lastMatch,lastParen,lastContext,rightContext属性讲解

    1.lastIndex属性,返回匹配内容的最后一个索引位置,也就是下一个匹配的开始位置,注意字符串索引从0开始 代码: //设置要匹配的内容 var objStr="abfdabcd"; //设置匹配的正则表达式 var re=/abc/; //输出匹配前的字符串 document.write("未匹配前的字符串"+objStr+""); //输出匹配的内容 document.write("匹配的内容"+objStr.matc

  • JavaScript 正则表达式之RegExp属性、方法及应用分析

    使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来:在第二种方式中,pattern部分嵌套在两个"/"之间,不能使用引号. flags部分设置正则表达

  • JavaScript RegExp 正则表达式对象详细说明

    直接量语法 /pattern/attributes 创建 RegExp 对象的语法: 复制代码 代码如下: var obj=new RegExp(pattern,attributes); 事例1: 复制代码 代码如下: var pattern=/a/; document.write(pattern.exec("asdas")); 事例2: 复制代码 代码如下: var obj=new RegExp("a"); document.write(obj.exec(&quo

  • mysql中如何使用正则表达式查询

    基本形式 属性名 regexp '匹配方式' 正则表达式的模式字符 ^ 匹配字符开始的部分 eg1: 从info表name字段中查询以L开头的记录 select * from info where name regexp '^L'; eg2: 从info表name字段中查询以aaa开头的记录 select * from info where name regexp '^aaa'; $ 匹配字符结束的部分 eg1: 从info表name字段中查询以c结尾的记录 select * from info

  • MySql中正则表达式的使用方法描述

    正则表达式定义了一个字符串的规则.最简单的正则表达式不包含任何保留字.例如,正则表达式hello只和字符串"hello"匹配.  一般的正则表达式使用了某些特殊的结构,所以它能匹配更多的字符串.例如,正则表达式hello|word既能匹配字符串"hello"也能匹配字符串 "word".举一个更复杂一点的例子,正则表达式b[an]*s可以匹配字符串"bananas"."baaaaas" ."bs&

  • mysql模糊查询like和regexp小结

    在mysql中实现模糊查询的有like和regexp. ------------------------ like的用法许多人都是知道的,最为常用的情况就是select * from a where name like '%a%'; 其中'%'代表的是任意个字符,它的效果像是正则表达式里的'*',它有几种用法:'a%','%a%','%a',分别表示以什么开头,存在什么以及以什么结尾. 另外也可以使用'_'字符,这表示一个任意字符.效果类似正则表达式里面的'.'. like是对这个字段里面的所有

  • coolcode转SyntaxHighlighter与Mysql正则表达式实现分析

    最近,我抽空改成SyntaxHighlighter.由于coolcode插件的开头标签是 <coolcode> 或者[coolcode]这样的,而SyntaxHighlighter是 [code lang="php"] 这样的(或者其他).遂只能想办法把老的格式转化成新的格式.当然,肯定用到正则表达式了. 原来的代码高亮开头标识为 <coolcode lang="php" download="123.php" linenum=&

  • MySQL 字符串模式匹配 扩展正则表达式模式匹配

    标准的SQL模式匹配 SQL的模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零个字符).在 MySQL中,SQL的模式缺省是忽略大小写的.下面显示一些例子.注意在你使用SQL模式时,你不能使用=或!=:而使用LIKE或NOT LIKE比较操作符. 例如,在表pet中,为了找出以"b"开头的名字: mysql> SELECT * FROM pet WHERE name LIKE "b%"; +--

  • MySql官方手册学习笔记2 MySql的模糊查询和正则表达式

    SQL模式匹配允许你使用"_"匹配任何单个字符,而"%"匹配任意数目字符(包括零字符).在 MySQL中,SQL的模式默认是忽略大小写的.下面给出一些例子.注意使用SQL模式时,不能使用=或!=:而应使用LIKE或NOT LIKE比较操作符. 要想找出以"b"开头的名字: mysql> SELECT * FROM pet WHERE name LIKE 'b%';+--------+--------+---------+------+---

  • mysql数据库replace、regexp的用法

    replace.regexp的用法 0 Comments | This entry was posted on Apr 08 2010 mysql replace用法 1.replace into replace into table (id,name) values('1′,'aa'),('2′,'bb') 此语句的作用是向表table中插入两条记录.如果主键id为1或2不存在 就相当于 insert into table (id,name) values('1′,'aa'),('2′,'bb

  • javascript RegExp对象(正则表达式)

    使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"]). 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]. pattern部分为要使用的正则表达式模式文本,是必须的.在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来:在第二种方式中,pattern部分嵌套在两个"/"之间,不能使用引号. flags部分设置正则表达

  • js正则表达式之input属性($_)RegExp对象属性介绍

    功能说明:该属性为RegExp的静态只读属性,该属性的值为与RegExp对象所描述的正则表达式进行匹配检测的字符串,该属性也可以表示成$_ 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //objStr 为待匹配的内容 var objStr='abcDdefCDDE'; //创建正则表达式,i表示匹配忽略大小写 var re=/cd+e/i;//

  • 在MySQL中用正则表达式替换数据库中的内容的方法

    PS:下面是转过来的,用于记录下,这个不是正则的初衷,只是用了REGEXP而已,正则的更灵活更方便 将comment表中的author_url包含www.sohu.com的记录,其中的sohu替换为sina,一个语句搞定~ update comment set author_url=REPLACE(author_url,'sohu','sina') where author_url REGEXP 'www.sohu.com'; 带IF判断的复杂替换 update comment set url=

  • jQuery源码分析-02正则表达式 RegExp 常用正则表达式

    作者:nuysoft/JS攻城师/高云 QQ:47214707 EMail:nuysoft@gmail.com 声明:本文为原创文章,如需转载,请注明来源并保留原文链接. 后文预告:jQuery中的正则表达式分析 2.4 常用正则表达式 在网上找到一篇广为流传的文章<常用正则表达式>,逐一分析,不足地方进行补充和纠正. 复制代码 代码如下: 常用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[1-9]\d*$ 匹配整数 ^[1-

  • MySQL中REGEXP正则表达式使用大全

    以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作.请参见3.3.4.7节,"模式匹配". 在本附录中,归纳了在MySQL中可用于REGEXP操作

  • mysql正则表达式 LIKE 通配符

    扩展正则表达式的一些字符是: "."匹配任何单个的字符. 一个字符类"[...]"匹配在方括号内的任何字符.例如,"[abc]"匹配"a"."b"或"c".为了命名字符的一个范围,使用一个"-"."[a-z]"匹配任何小写字母,而"[0-9]"匹配任何数字. " * "匹配零个或多个在它前面的东西.例如,&q

  • js正则表达式讲解之index属性(RegExp对象)

    功能:index与search返回的值相同,不管是是否匹配到合适内容,如果找到合适内容则index为匹配内容其实字符的起始位置,如果没有找到则返回-1 基本语法RegExp.index 注意:该属性也是RegExp的静态属性,调用方式固定. 复制代码 代码如下: <html> <script language="javascript" type="text/javascript"> //alert('Designed By Androidyu

  • oracle正则表达式regexp_like的用法详解

    /*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE.INSTR.SUBSTR 和REPLACE 用法相同,但是它们使用POSIX 正则表达式代替了老的百分号(%)和通配符(_)字符.POSIX 正则表达式由标准的元字符(m

随机推荐