正则表达式简介(9-10)

2016-01-29 19:05 8 1 收藏

正则表达式简介(9-10),正则表达式简介(9-10)

【 tulaoshi.com - ASP 】

  9.非打印字符

有不少很有用的非打印字符,偶尔必须使用。下表显示了用来表示这些非打印字符的转义序列:

字符                       含义

cx    匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或回车符。
        x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字
        符。

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

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

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

s    匹配任何空白字符,包括空格、制表符、换页符等等。等价于
       [fnrtv]。

S    匹配任何非空白字符。等价于 [^ fnrtv]。

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

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

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

10.字符匹配

句点 (.) 匹配一个字符串中任何单个的打印或非打印字符,除了换行符 (n) 之外。下面的 Visual Basic Scripting
Edition 正则表达式可以匹配 'aac'、'abc'、'acc'、'adc'如此等等,同样也可以匹配 'a1c'、'a2c'、a-c'以及
a#c':

/a.c/

等价的 VBScript 正则表达式为:

"a.c"

如果试图匹配一个包含文件名的字符串,其中句点 (.) 是输入字符串的一部分,则可以在正则表达式中的句点前面加上一
个反斜杠 () 字符来实现这一要求。举例来说,下面的 Visual Basic Scripting Edition 正则表达式就能匹
配 'filename.ext':

/filename.ext/

对 VBScript 而言,等价的表达式如下所示:

"filename.ext"

这些表达式仍然是相当有限的。它们只允许匹配任何单字符。很多情况下,对从列表中匹配特殊字符十分有用。例如,如
果输入文字中包含用数字表示为Chapter 1, Chapter 2诸如此类的章节标题,你可能需要找到这些章节标题。


括号表达式

可以在一个方括号 ([ 和 ]) 中放入一个或多个单字符,来创建一个待匹配的列表。如果字符被放入括号中括起来,则该
列表称为括号表达式。括号内和其他任何地方一样,普通字符代表其本身,也就是说,它们匹配输入文字中出现的一处自
己。大多数特殊字符在位于括号表达式中时都将失去其含义。这里有一些例外:

1.  ']' 字符如果不是第一项,则将结束一个列表。要在列表中匹配 ']' 字符,请将其放在第一项,紧跟在开始的 '['
后面。

2.  '' 仍然作为转义符。要匹配 '' 字符,请使用 ''。

括号表达式中所包含的字符只匹配该括号表达式在正则表达式中所处位置的一个单字符。下面的 Visual Basic
Scripting Edition 正则表达式可以匹配 'Chapter 1'、'Chapter 2'、'Chapter 3'、'Chapter 4' 以及 'Chapter 5':

/Chapter ][12345]/

在 VBScript 中要匹配同样的章节标题,请使用下面的表达式:

"Chapter [12345]"

请注意单词 'Chapter' 及后面的空格与括号内的字符的位置关系是固定的。因此,括号表达式只用来指定满足紧跟在单
词 'Chapter' 和一个空格之后的单字符位置的字符集合。这里是第九个字符位置。

如果希望使用范围而不是字符本身来表示待匹配的字符,则可以使用连字符将该范围的开始和结束字符分开。每个字符的
字符值将决定其在一个范围内的相对顺序。下面的 Visual Basic Scripting Edition 正则表达式包含了一个等价于上面
所示的括号列表的范围表达式。

/Chapter [1-5]/

VBScipt 中相同功能的表达式如下所示:

"Chapter [1-5]"

如果以这种方式指定范围,则开始和结束值都包括在该范围内。有一点特别需要注意的是,在 Unicode 排序中起始值一定
要在结束值之前。

如果想在括号表达式中包括连字符,则必须使用下述方法之一:

1.  使用反斜杠将其转义: [-]

2.  将连字符放在括号列表的开始和结束位置。下面的表达式能匹配所有的小写字母和连字符:[-a-z],[a-z-]

来源:https://www.tulaoshi.com/n/20160129/1508403.html

延伸阅读
标签: ASP
  5.建立正则表达式 构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大 的表达式。 可以通过在一对分隔符之间放入表达式模式的各种组件来构造一个正则表达式。对 Visual Basic Scripting Edition 而 言,分隔符为一对正斜杠 (/) 字符。例如: /expression/ 对 VBScript ...
标签: Web开发
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为元字符)。模式描述在搜索文本时要匹配的一个或多个字符串。   正则表达式示例 表达式 匹配 /^\s*$/ 匹配空行。 /\d{2}-\d{5}/ 验证由两位数字、一个连字符再加 5 位数字组成的 ID 号。 /\s*(\S+)(\s[^]*)?[\s\S]*\s*\/\1\s*/ ...
标签: Web开发
正则表达式在PHP中被用来处理复杂的文字串。支持正则表达式的函数有: ereg()ereg replace()eregi replace()split() 这些函数都将正则表达式作为他们的第一个参数。PHP使用POSIX扩展规则表达式(使用POSIX 1003.2)。要找到所有的关于POSIX扩展规则表达式的描述,请查看包括在PHP发行版本之内的regex man页面。 Examp...
标签: Web开发
####################### #作者:雨浪 版权所有,翻版说一下 # #QQ:270499458 # ####################### 近段日子几个刚学了正则表达式的朋友问我在asp中怎么用.呵呵.虽然简单,还是写出来吧,正则表达式的基本知识我就不说了.其实已经有...
标签: Web开发
前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。 索引 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以...