查找字符串是否没有任何整数

时间:2017-04-12 16:31:29

标签: python python-3.x

我有代码:

user_input = input('>>>: ')
if not re.search('[0-9]', user_input):
    print('That wasn\'t an integer.')
else:
    print('That was an integer!')
    print(user_input)

它基本上试图确定用户的输入(数学上)是否是整数。如果输入为“adgx”,则此方法有效;代码识别出这些不在0-9范围内,并且打印出'那不是整数'。我需要程序打印'那不是一个整数'。如果输入是例如'a3h1d',但它没有。我假设因为输入技术上包含在范围内的数字,它满足了声明。我需要它,如果输入是'a3h1d',程序打印'那不是一个整数'。

2 个答案:

答案 0 :(得分:1)

如果您不想使用正则表达式,我建议您只使用str.isdigit

 select * from T where DATEADDED >  trunc(sysdate,'HH') -1/24 
     and DATEADDED <= trunc(sysdate,'HH')

还有这种方法

user_input = input('>>>: ')
if not user_input.isdigit():
    print('That wasn\'t an integer.')
else:
    print('That was an integer!')

答案 1 :(得分:0)

您还可以使用re.match()加上字符串开头和字符串结束标记:

user_input = input('>>>: ')
if not re.match('^[0-9]+$', user_input):
    print('That wasn\'t an integer.')
else:
    print('That was an integer!')

请记住,在正则表达式中:

  • ^匹配行的开头;
  • $匹配一行的结尾;
  • +表示上一个模式应出现一次或多次。

我建议您查看Python official 're' documentation以获得更完整且解释清楚的列表。