Skip to main content
 首页 » 编程设计

用于验证字符串类型的python正则表达式

2025年05月04日20yxwkf

我想用 python 执行以下操作:

  1. 验证 UTF8 字符串是否为整数。
  2. 验证 UTF8 字符串是否为 float 。
  3. 验证 UTF8 字符串的长度是否为 (1-255)。
  4. 验证 UTF8 字符串是否为有效日期。

我是 python 的新手,我相信这应该用正则表达式来完成,除了最后一个。感谢您的帮助!

请您参考如下方法:

Regex 在这里不是一个好的解决方案。

  1. 验证 UTF8 字符串是否为整数:

    try: 
      int(val) 
      is_int = True 
    except ValueError: 
      is_int = False 
    
  2. 验证 UTF8 字符串是否为 float :同上,但使用 float()。

  3. 验证 UTF8 字符串的长度是否为 (1-255):

    is_of_appropriate_length = 1 <= len(val) <= 255 
    
  4. 验证 UTF8 字符串是否为有效日期:这很重要。如果您知道正确的格式,您可以像这样使用 time.strptime():

    # Validate that the date is in the YYYY-MM-DD format. 
    import time 
    try: 
      time.strptime(val, '%Y-%m-%d') 
      is_in_valid_format= True 
    except ValueError: 
      is_in_valid_format = False 
    

编辑:还有一点需要注意。由于您特别提到了 UTF-8 字符串,因此首先将它们解码为 Unicode 是有意义的。这将通过以下方式完成:

my_unicode_string = my_utf8_string.decode('utf8') 

有趣的是,例如,当尝试使用 int() 将 Unicode 字符串转换为整数时,您并不局限于大多数世界。 int(u'١٧') 和 int(u'१७') 将正确解码为 17,即使它们分别是印度-阿拉伯语和梵文数字。