打印

正则入门连载!(献给不及格的程序员们)

正则表达式
通过与大多数读者已经熟悉的一些概念进行比较,说明正则表达式的概念。


本篇内容全部来是 微软 公司 文档
            对此表示感谢,像那些为此而工作过的人们.

除非您以前使用过正则表达式,否则您可能不熟悉此术语。但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念。

例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件。? 通配符匹配文件名中的单个字符,而 * 通配符匹配零个或多个字符。像 data?.dat 这样的模式将查找下列文件:

data1.dat
data2.dat
datax.dat
dataN.dat
使用 * 字符代替 ? 字符扩大了找到的文件的数量。data*.dat 匹配下列所有文件:

data.dat
data1.dat
data2.dat
data12.dat
datax.da
dataXYZ.dat
尽管这种搜索方法很有用,但它还是有限的。? 和 * 通配符的能力引入了正则表达式所依赖的概念,但正则表达式功能更强大,而且更加灵活。

本帖最近评分记录
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

正则表达式的用途
通过实例说明正则表达式如何扩展常规搜索条件。


典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。

通过使用正则表达式,可以:

测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。

替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

基于模式匹配从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。

例如,您可能需要搜索整个 Web 站点,删除过时的材料,以及替换某些 HTML 格式标记。在这种情况下,可以使用正则表达式来确定在每个文件中是否出现该材料或该 HTML 格式标记。此过程将受影响的文件列表缩小到包含需要删除或更改的材料的那些文件。然后可以使用正则表达式来删除过时的材料。最后,可以使用正则表达式来搜索和替换标记。

正则表达式在 JScript 或 C 等语言中也很有用,这些语言的字符串处理能力还不为人们所知。
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

正则表达式语法
说明构成正则表达式的字符、构成元字符的字符以及元字符的行为。


 提示:您可以先修改部分代码再运行
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

生成正则表达式
描述正则表达式的组件以及组件和分隔符之间的关系。


正则表达式的结构与算术表达式的结构类似。即,各种元字符和运算符可以将小的表达式组合起来,创建大的表达式。

通过在一对分隔符之间放置表达式模式的各种组件,就可以构建正则表达式。对于 JScript,分隔符是正斜杠 (/) 字符。例如:

/expression/
在上面的示例中,正则表达式模式 (expression) 存储在 RegExp 对象的 Pattern 属性中。

正则表达式的组件可以是单个字符、字符集、字符的范围、在几个字符之间选择或者所有这些组件的任何组合。
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

优先级顺序
说明如何计算正则表达式以及正则表达式的序列和语法对结果有何影响。


 提示:您可以先修改部分代码再运行
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

普通字符
区分普通字符与元字符,并说明如何将多个单字符正则表达式组合在一起,以创建更大的表达式。


普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。

正则表达式的最简单形式是在搜索字符串中匹配其本身的单个普通字符。例如,单字符模式,如 A,不论出现在搜索字符串中的何处,它总是匹配字母 A。下面是一些单字符正则表达式模式的示例:

/a/
/7/
/M/
可以将许多单字符组合起来以形成大的表达式。例如,以下正则表达式组合了单字符表达式:a、7 和 M。

/a7M/
请注意,没有串联运算符。只须在一个字符后面键入另一个字符。
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

特殊字符
说明转义符的概念以及如何创建与元字符匹配的正则表达式。


 提示:您可以先修改部分代码再运行
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

不可打印字符
列出用于表示正则表达式中非打印字符的转义序列。


 提示:您可以先修改部分代码再运行
C++ C# Java Jscript VBScript ActionScript Is My Tools.

My Web

TOP

字符匹配
说明正则表达式如何使用句点、转义符和中括号创建返回特定结果的序列。


句点 (.) 匹配字符串