是否有特殊字符串,例如Java中的\ Q和\ E? 感谢。
答案 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单行程序,只需在任何保留字符前加上'\'