1. 程式人生 > >不同進位制的數字格式校驗

不同進位制的數字格式校驗

#十進位制校驗
def checkdec(dec):
    matchobj = re.match(r'(0[dD])?[0-9]+$',dec)
    if matchobj:
        return True
    else:
        return False
#二進位制校驗
def checkbin(bin):
    matchobj = re.match(r'(0[bB])?[0-1]+$',bin)
    if matchobj:
        return True
    else:
        return False
#八進位制校驗
def checkoct
(oct): matchobj = re.match(r'(0[oO])?[0-7]+$',oct) if matchobj: return True else: return False #十六進位制校驗 def checkhex(hex): matchobj = re.match(r'(0[xX])?[0-9a-fA-F]+$',hex) if matchobj: return True else: return False

測試用例

class IPv4MethodsTest
(unittest.TestCase): def test_checkdec(self): self.assertEqual(IPNumConvertMethods.checkdec('123'),True) self.assertEqual(IPNumConvertMethods.checkdec('a23'), False) def test_checkbin(self): self.assertEqual(IPNumConvertMethods.checkbin('1010'),True) self.assertEqual(
IPNumConvertMethods.checkbin('0b1010'), True) self.assertEqual(IPNumConvertMethods.checkbin('0bb010'), False) def test_checkoct(self): self.assertEqual(IPNumConvertMethods.checkoct('12'), True) self.assertEqual(IPNumConvertMethods.checkoct('0o12'), True) def test_checkhex(self): self.assertEqual(IPNumConvertMethods.checkhex('a'), True) self.assertEqual(IPNumConvertMethods.checkhex('0xa'), True)