Regex AS3-如何正确地转义正则表达式

Regex AS3-如何正确地转义正则表达式,regex,actionscript-3,syntax,Regex,Actionscript 3,Syntax,我在AS3中有几个正则表达式是用内联AS3正则表达式语法定义的,如: /\/\*[\s\s]*?\*\//gm 我想将其转换为AS3正则表达式类构造函数,如下所示: newregexp('/\/\*[\s\s]*?\*\/',“gm”) 我不确定我是否必须摆脱反斜杠。你知道如何转换它吗 /**------------正则表达式------------------*/ 公共静态变量multiliecomments:RegExp=/\/\*[\s\s]*?\*\//gm; 公共静态var

我在AS3中有几个正则表达式是用内联AS3正则表达式语法定义的,如:

  • /\/\*[\s\s]*?\*\//gm
我想将其转换为AS3正则表达式类构造函数,如下所示:

  • newregexp('/\/\*[\s\s]*?\*\/',“gm”)
我不确定我是否必须摆脱反斜杠。你知道如何转换它吗


/**------------正则表达式------------------*/
公共静态变量multiliecomments:RegExp=/\/\*[\s\s]*?\*\//gm;
公共静态var singleLineCComments:RegExp=/\/\/.$/gm;
公共静态变量singleLinePerlComments:RegExp=/#.*$/gm;
公共静态变量doubleQuotedString:RegExp=/“([^\\”\n]\\)*”/g;
公共静态变量singleQuotedString:RegExp=/'([^\\'\n]\\\)*'/g;
公共静态变量multileDoubleQuotedString:XRegExp=new XRegExp(“”([^\\\\“]\\\\)*“,“gs”);
公共静态变量multileSingleQuotedString:XRegExp=new XRegExp(“'([^\\\']\\\\\)*”,“gs”);
公共静态var xmlcoments:RegExp=/(|)gm;
公共静态变量url:RegExp=/\w+:\/\/[\w-.\/?%&=:@;]*/g;

您可以用另一种方法:

private static const pattern:RegExp = /\/\*[\s\S]*?\*\//;
public static var regex:XRegExp = new XRegExp(pattern.source, "gm");

我知道怎么做

  • 删除第一个和最后一个
    /
    ,这是AS3正则表达式语法的一部分

  • 在第二个参数中放置结尾选项,如
    g
    gm

  • 最后,用2个反斜杠替换掉每个反斜杠(
    \

  • 总而言之:

    • 内联语法:
      /\/\*[\s\s]*?\*\//gm
    • RegExp语法:
      newregexp(“\\/\\*[\\s\\s]*?\\*\\\\/”,“gm”)
    private static const pattern:RegExp = /\/\*[\s\S]*?\*\//;
    public static var regex:XRegExp = new XRegExp(pattern.source, "gm");