转义 ActionScript 正则表达式中的多个字符



是否有特殊的字符串,例如Java中的\Q和\E?谢谢。

我所知,在AS3 RegExp中没有等同于QE。你可以做的与在Javascript中做的事情相同:转义特殊字符以在RegExp模式中使用:

function escapeForRegExp(s:String):String {
    return s.replace(/[-/\^$*+?.()|[]{}]/g, "\$&");
}
// Example:
var s:String = "Some (text) with + special [regex] chars?";
var r:RegExp = new RegExp("^" + escapeForRegExp(s), "g");
// Same as if you wrote the pattern with escaped characters:
/^Some (text) with + special [regex] chars?/g

简短的回答是否定的,您必须使用\一次转义一个字符如前所述http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e91.html如果这真的是一个问题,你可以想象编写自己的转义函数并使用: new RegExp(escape("your text (using reserved characters ^^) [...]")) 而不是常量语法 /your text (using reserved characters ^^) [...]/如果您不想转义整个正则表达式,只需连接转义和非转义部分

escape(( 函数可以是正则表达式单行代码,只是在任何保留字符前面加上"\">

最新更新