正则表达式基础知识

使用正则表达式简介

正则表达式描述字符模式。通常,正则表达式用于验证文本值是否符合特定模式(例如,验证用户输入的电话号码位数是否正确),或者替换与特定模式匹配的部分文本值。

正则表达式可能非常简单。例如,假设您要确认特定字符串与“ABC”是否匹配,或者要使用某些其它文本替换字符串中出现的每个“ABC”。在这种情况下,您可以使用以下正则表达式,它定义了依次包含字母 A、B 和 C 的模式:

/ABC/

请注意,正则表达式文本是使用正斜杠 (/) 界定的。

正则表达式模式也可能非常复杂,有时候表面上看起来晦涩难懂,例如,以下与有效电子邮件地址匹配的表达式:

/([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/

通常,您使用正则表达式在字符串中搜索模式以及替换字符。在这些情况下,您将创建一个正则表达式对象,并将其作为几个 String 类方法之一的参数。下列 String 类方法将正则表达式作为参数:match()replace()search()split()。有关这些方法的详细信息,请参阅在字符串中查找模式并替换子字符串

RegExp 类包含以下方法:test()exec()。有关详细信息,请参阅对字符串使用正则表达式的方法

常见正则表达式任务

正则表达式具有几种常见用途,本章详细介绍了这些用途:

重要概念和术语

以下参考列表包含将会在本章中使用的重要术语:

完成本章中的示例

学习本章的过程中,您可能想要自己动手测试一些示例代码清单。由于本章中的代码清单主要由正则表达式模式组成,因此测试示例涉及以下几个步骤:

  1. 创建一个新的 Flash 文档。
  2. 选择一个关键帧并打开“动作”面板。
  3. 创建一个 RegExp(正则表达式)变量,例如:
    var pattern:RegExp = /ABC/;
    
  4. 复制示例的模式并将其作为 RegExp 变量的值进行分配。例如,在上一行代码中,模式是等号右侧的代码的一部分,不包含分号 (/ABC/)。
  5. 创建一个或多个包含适合于测试正则表达式的字符串的 String 变量。例如,如果要创建正则表达式来测试有效的电子邮件地址,则创建几个包含有效和无效电子邮件地址的 String 变量:
    var goodEmail:String = "bob@example.com";
    var badEmail:String = "5@$2.99";
    
  6. 添加几行测试 String 变量的代码,以确定它们是否与正则表达式模式匹配。这些将是您希望通过使用 trace() 函数或通过写入舞台的文本字段而输出到屏幕上的值。
    trace(goodEmail, " is valid:", pattern.test(goodEmail));
    trace(badEmail, " is valid:", pattern.test(badEmail));
    

    例如,假设 pattern 为有效的电子邮件地址定义了正则表达式模式,前面几行代码将此文本写入“输出”面板:

    bob@example.com is valid: true
    5@$2.99 is valid: false
    

    有关通过将值写入舞台上的文本字段实例或使用 trace() 函数将值输出到“输出”面板以测试这些值的详细信息,请参阅测试本章内的示例代码清单


Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000111.html