我使用下面的正则表达式:极品领域的正则表达式,应该允许特殊字符,字母数字字符和空格
[a-zA-Z0-9-#.()/%&\\s]{0,19}.
为现场的要求是它应允许任何东西,字段大小应是19. 让我知道如果有任何更正。任何帮助表示赞赏。
我使用下面的正则表达式:极品领域的正则表达式,应该允许特殊字符,字母数字字符和空格
[a-zA-Z0-9-#.()/%&\\s]{0,19}.
为现场的要求是它应允许任何东西,字段大小应是19. 让我知道如果有任何更正。任何帮助表示赞赏。
测试你的正则表达式就逃脱破折号-
或把它在开始时或在字符类的末尾:
[a-zA-Z0-9\\-#.()/%&\\s]{0,19}
或
[-a-zA-Z0-9#.()/%&\\s]{0,19}
或
[a-zA-Z0-9#.()/%&\\s-]{0,19}
你的正则表达式至少有一种不正确 - 如果你考虑连字符是一个“特殊字符”,那么你应该把它放在范围的开始或结束。所以:[a-zA-Z0-9#.()/%&\s-]{0,19}
。
在正则表达式本身的上下文中“特殊”的字符如果在范围内,通常不会被解析。所以你可以用.
,(
和)
。但请检查您的解析器以确保它理解\s
的含义。放置空间可能会更简单。另外,如果你的正则表达式解析器倾向于用斜杠分隔正则表达式,那么你可能不得不在范围中间跳过斜线:[a-zA-Z0-9#.()\/%&\s-]{0,19}
。
定义“特殊字符”... – JohnC 2012-01-09 15:06:09
!@#$%^&*()_ + | ...所有这些 – 1078081 2012-01-09 15:42:20
定义您的每个术语,否则您将得不到正确的答案。 – tchrist 2012-01-09 16:34:06