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

时间:2016-02-15 12:57:35

标签: actionscript-3 actionscript

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

2 个答案:

答案 0 :(得分:2)

据我所知,AS3 RegExp中没有等同于\Q\E的内容。你可以做的是同样的事情you would in 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

答案 1 :(得分:0)

简短的回答是否定的,你必须一次一个地逃脱每个角色 如上所述 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()函数可以是一个RegExp单行程序,只需在任何保留字符前加上'\'