flash正则表达式转义字符怎么使用

2020-09-26 科技 101阅读

在帮助里有这方面的示例如下 :

  • 创建一个新的 Flash 文档。

  • 选择一个关键帧并打开"动作"面板。

  • 创建一个 RegExp(正则表达式)变量,例如:

    var pattern:RegExp = /ABC/;
  • 复制示例的模式并将其作为 RegExp 变量的值进行分配。例如,在上一行代码中,模式是等号右侧的代码的一部分,不包含分号
    (/ABC/)。

  • 创建一个或多个包含适合于测试正则表达式的字符串的 String 变量。例如,如果要创建正则表达式来测试有效的电子邮件地址,则创建几个包含有效和无效电子邮件地址的 String 变量:

    var goodEmail:String = "bob@example.com";
    var badEmail:String = "5@$2.99";
  • 添加几行测试 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

创建正则表达式实例

有两种方法可以创建正则表达式实例。一种方法是使用正斜杠字符 (/) 来界定正则表达式,另一种是使用
new 构造函数。例如,以下两个正则表达式是等效的:

var pattern1:RegExp = /bob/i;
var pattern2:RegExp = new RegExp("bob", "i");

正斜杠界定正则表达式的方式与用引号界定字符串文本的方式相同。正斜杠内的正则表达式部分定义"模式"。正则表达式还可以在后一个界定斜杠后包含"标志"。这些标志也看作是正则表达式的一部分,但是它们独立于模式。

使用 new 构造函数时,使用两个字符串来定义正则表达式。第一个字符串定义模式,第二个字符串定义标志,如下例所示:

var pattern2:RegExp = new RegExp("bob", "i");

如果在使用正斜杠界定符定义的正则表达式中包含正斜杠,则必须在正斜杠前面加上反斜杠 (\)
转义字符。例如,下面的正则表达式与模式
1/2 匹配:

var pattern:RegExp = /1\/2/;

要在使用 new 构造函数定义的正则表达式中包含引号,您必须在引号前面加上反斜杠 (\) 转义字符(就像定义任何
String 文本一样)。例如,下面的正则表达式与模式 eat at "joe's" 匹配:

var pattern1:RegExp = new RegExp("eat at \"joe's\"", "");
var pattern2:RegExp = new RegExp('eat at "joe\'s"', "");

请勿在使用正斜杠界定符定义的正则表达式中对引号使用反斜杠转义字符。同样地,不要在使用 new 构造函数定义的正则表达式中对正斜杠使用转义字符。下列正则表达式是等效的,它们都定义了模式
1/2 "joe's":

var pattern1:RegExp = /1\/2 "joe's"/;
var pattern2:RegExp = new RegExp("1/2 \"joe's\"", "");
var pattern3:RegExp = new RegExp('1/2 "joe\'s"', '');

此外,在使用 new 构造函数定义的正则表达式中,要使用以反斜杠 (\)
字符开头的元序列(例如,\d,用于匹配任何数字),请键入两个反斜杠字符:

var pattern:RegExp = new RegExp("\\d+", ""); // 匹配一个或多个数字

在本实例中您必须键入两个反斜杠字符,因为 RegExp() 构造函数方法的第一个参数是字符串,而在字符串文本中必须键入两个反斜杠字符才能将其识别为单个反斜杠字符

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com