正则表达式对某些特殊字符

时间:2013-04-25 08:36:36

标签: regex

目前我有以下正则表达式,用于验证公司/行业的名称及其正常工作

  /(?=[a-zA-Z0-9-]{5,25}$)^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$/

以上正则表达式不支持像&amp ;;这样的特殊字符。 - 。 _在我的情况下有效

我想出了这个,但它没有按预期工作。

 /(?=[a-zA-Z0-9-\&\_\.]{5,25}$)^[a-zA-Z0-9\&\_\.]+(-[a-zA-Z0-9\&\_\.]+)*$/

有人可以指出我的上述正则表达式出错的地方。另外,对上述正则表达式的简短解释将非常感激 感谢

2 个答案:

答案 0 :(得分:3)

我认为你不得不&\&一起逃避{同样的方式_

/(?=[a-zA-Z0-9-&_\.]{5,25}$)^[a-zA-Z0-9&_\.]+(-[a-zA-Z0-9&_\.]+)*$/

答案 1 :(得分:0)

如果我没有错,除非特殊字符是反斜杠本身或字符-,否则实际上不必对每个特殊字符添加反斜杠。所以你的正则表达式将是

/(?=[a-zA-Z0-9-&_.]{5,25}$)^[a-zA-Z0-9&_.]+(-[a-zA-Z0-9&_.]+)*$/