我正在使用以下正则表达式:
[a-zA-Z0-9-#.()/%&\\s]{0,19}.
该字段的要求是它应该允许任何事物,字段大小应该是19。 如果有任何更正,请告诉我。非常感谢。
答案 0 :(得分:2)
答案 1 :(得分:0)
只需转义破折号-
或将其放在角色类的开头或结尾处:
[a-zA-Z0-9\\-#.()/%&\\s]{0,19}
或
[-a-zA-Z0-9#.()/%&\\s]{0,19}
或
[a-zA-Z0-9#.()/%&\\s-]{0,19}
答案 2 :(得分:0)
你的正则表达式至少在某种程度上是错误的 - 如果你认为连字符是一个“特殊字符”,那么你应该把它放在范围的开头或结尾。所以:[a-zA-Z0-9#.()/%&\s-]{0,19}
。
在正则表达式本身的上下文中“特殊”的字符通常不会被解析,如果它们在一个范围内。所以你可以使用.
,(
和)
。但请检查您的解析器,以确保它了解\s
的含义。放一个空格可能更简单。
此外,如果您的正则表达式解析器倾向于使用斜杠分隔正则表达式,那么您可能必须在范围的中间转义斜杠:[a-zA-Z0-9#.()\/%&\s-]{0,19}
。