匹配特殊字符,包括方括号

时间:2012-11-01 11:32:35

标签: javascript regex extjs

我希望在ExtJs(maskRe)中有一个与所有java代码模式相匹配的文本字段的正则表达式

我用过

    maskRe:/^[A-Za-z0-9 _=//~'"|{}();*:?+,.]*$/

我也希望包含[,],但似乎/ [,/],// [,//]无效..

请输入任何信息

3 个答案:

答案 0 :(得分:1)

要通过在角色前添加反斜杠escape来剥离特殊角色的神奇力量,你必须\。即要匹配[,请键入\[

由于反斜杠也是一个特殊的角色,为了按字面意思匹配,你可以用同样的方式逃避它:\\

由于你使用/作为模式分隔符,你需要在模式中转义它的出现次数:

/^[A-Za-z0-9 _=\/~'"|{}();*:?+,.]*$/

答案 1 :(得分:1)

逃避 regex meta-characters 的方法是使用反斜杠(\),而不是转发斜杠(/)

[,]应为\[,\]

//应为\/

答案 2 :(得分:1)

问题是你需要逃避正斜杠。将//更改为\/

/^[A-Za-z0-9 _=\/~'"|{}();*:?+,.]*$/

但是,这个正则表达式匹配任何Java代码。 Java代码几乎可以包含任何Unicode字符。 int møøse = 42;是有效的Java。