如何限制REGEXP中的特殊字符

时间:2015-05-18 07:24:55

标签: python regex django django-class-based-views

我正在验证文本框字段。这里下面的代码我验证它应该包含字符和十进制数字和空格只允许在regexp中。但现在我想这样做,它应该限制特殊的字符。以下代码允许特殊字符。任何人帮我做这个

  p = re.compile('[a-zA-z0-9_](\w+ ?)(?:([0-9])+([\,\.][0-9]+))?')

提前致谢

2 个答案:

答案 0 :(得分:0)

p = re.compile('([^~+&@!#$%]*)')。添加任何其他特殊字符。这会接受一切,直到你得到一个特殊的角色。

或者使用p = re.compile('^([^~+&@!#$%]*)$'),如果文本框中有特殊字符,则会失败。

答案 1 :(得分:0)

你只需要使用锚点。

 p = re.compile(r'^[a-zA-z0-9_](\w+ ?)(?:([0-9])+([,.][0-9]+))?$')

Anchors有助于进行精确的字符串匹配。